পরিচিত_হোস্ট ফাইলটিতে হোস্টগুলি খুঁজে পাওয়া সম্ভব?


115

আমি আমার পরিচিত_হোস্ট ফাইলগুলিতে হোস্টগুলি কী তা দেখতে চাই তবে এটি মানব পাঠযোগ্য বলে মনে হয় না। এটা কি পড়া সম্ভব?

আরও সুনির্দিষ্টভাবে একটি হোস্ট রয়েছে যা আমি বেশ কয়েকটি নামের সাথে সংযোগ করতে পারি এবং আমি আমার পরিচিত হোস্ট ফাইল থেকে আঙুলের ছাপটির জন্য কী আশা করি তা জানতে চাই।

আপডেট: আমি ওপেনএসএসএইচ_5.3 পি 1 দেবিয়ান -3 বুন্টু 7, ওপেনএসএসএল 0.9.8 কে 25 মার্চ 2009 ব্যবহার করছি

আমার পরিচিত_হোস্ট ফাইলের একটি লাইন দেখতে এরকম কিছু দেখাচ্ছে,

|1|guO7PbLLb5FWIpxNZHF03ESTTKg=|r002DA8L2JUYRVykUh7jcVUHeYE= ssh-rsa AAAAB3NzaC1yc2EAAFADAQABAAABAQDWp73ulfigmbbzif051okmDMh5yZt/DlZnsx3DEOYHu3Nu/+THJnUAfkfEc1XkOFiFgbUyK/08Ty0K6ExUaffb1ERfXXyyp63rpCTHOPonSrnK7adl7YoPDd4BcIUZd1Dk7HtuShMmuk4l83X623cr9exbfm+DRaeyFNMFSEkMzztBYIkhpA2DWlDkd90OfVAvyoOrJPxztmIZR82qu/5t2z58sJ6Jm2xdp2ckySgXulq6S4k+hnnGuz2p1klviYCWGJMZfyAB+V+MTjGGD/cj0SkL5v/sa/Fie1zcv1SLs466x3H0kMllz6gAk0/FMi7eULspwnIp65g45qUAL3Oj

যদি এটি হ্যাশ না করা হয় তবে আপনি ব্যবহার করতে পারেন: unix.stackexchange.com/questions/236192/…
বেনিয়ামিন

উত্তর:


134

আপনি আপনার ফাইলে HashKnownHosts" yes" সেট হয়ে ssh_configগেছেন, তাই হোস্টনামগুলি প্লেইন্টেক্সটে উপলভ্য নয়।

আপনি যদি আগে যে হোস্টের নামটি সন্ধান করছেন তা যদি আপনি জানেন তবে আপনি এটির সাথে এটি অনুসন্ধান করতে পারেন:

    ssh-keygen -H -F hostname

ssh-keygen(1)ম্যান পৃষ্ঠা থেকে প্রাসঙ্গিক বিভাগটি এখানে :

 -F hostname
         Search for the specified hostname in a known_hosts file, listing
         any occurrences found.  This option is useful to find hashed host
         names or addresses and may also be used in conjunction with the
         -H option to print found keys in a hashed format.

3
হ্যাশ পরিচিত হোস্টগুলি কি মূলত এটি সম্ভব নয় বলে বোঝায়? অর্থাত্ তথ্যটি দেখার জন্য আমাকে হোস্টের নাম জানতে হবে?
কলিন নেওয়েল

7
@ কলিননওয়েল এটি ঠিক, আপনার হোস্ট-নেম (গুলি) জানা দরকার। আপনার মেশিনে আপস করা থাকলে আপনার ঘন ঘন অন্যান্য বাক্সের হোস্টনাম / আইপি ঠিকানা সংগ্রহ করা থেকে আক্রমণকারীকে রাখা এক সুরক্ষার ব্যবস্থা।
পিডো

1
কোনও আউটপুট না থাকলেও ভয় পাবেন না, তবে সম্পূর্ণ যোগ্যতাসম্পন্ন হোস্টনামের পরিবর্তে হোস্টনাম চেষ্টা করবেন না।
গণিত

6
Sshd_config নয়, ssh_config।
ফিশ মনিটর

9
@pdo - আপনার আদেশ সর্বদা কার্যকর হয় না। হোস্টের যদি পোর্ট ব্যতীত অন্য কোনও এসএসএইচ থাকে 22তবে এর বিন্যাসটি known_hostsআলাদা is তারপরে আপনাকে নিম্নলিখিত কমান্ডটি ব্যবহার করতে হবে: ssh-keygen -H -F [host.example.com]:2222
মার্টিন ভেজিটার

17

ভবিষ্যতের সন্ধানকারীদের জন্য, এই নিবন্ধটি (অ-দাবি অস্বীকারকারী: আমি অনুমোদিত নই) ব্রাশ-ফোর্স হ্যাশ আইপি এবং হোস্টনামগুলিতে ব্রুট-ফোর্স করার জন্য তুলনামূলকভাবে সহজ পার্ল স্ক্রিপ্ট রয়েছে known_hosts

http://blog.rootshell.be/2010/11/03/bruteforcing-ssh-known_hosts-files/

এটি কোনও নির্দিষ্ট আইপি ঠিকানা থেকে শুরু করে allows এটি সহজেই অভিধান ব্যবহার করার জন্য পরিবর্তন করা যেতে পারে।

এছাড়াও, ২০১৪ সালের জুনে, জন দি রিপার প্রকল্পটি ज्ञात_হোস্ট ক্র্যাকিংয়ের জন্য সমর্থন যোগ করেছে , যা একাধিক সিপিইউ কোর, জিপিইউস, অভিধান ম্যাংলিং ইত্যাদির সুবিধা নিতে পারে which

আপনি অভিধান হিসাবে ব্যবহার করতে সমস্ত আরএফসি 1918 আইপি ঠিকানাগুলির একটি অভিধান তৈরি করতে এই এনএমএপি স্নিপেটটিও ব্যবহার করতে পারেন:

nmap -sL -Pn -n 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 |\
    grep '^Nmap scan report for' | cut -d\  -f5 >ips.list

1
অনুরূপ বৈশিষ্ট্য সহ অজগর বাস্তবায়ন রয়েছে, এটিতে
লার্স নর্ডিন

লারস নর্ডিন, টিপটির জন্য ধন্যবাদ। আমি রিমিলির তথ্য জন রিপার দলের কাছে জমা দিয়েছিলাম, এবং তারা রক্তপাত- জাম্বুতে
উইলিয়ামস

1
এবং এটি হ্যাশক্যাট দিয়ে কীভাবে করবেন তা এখানে: up1ink.tumblr.com/post/132370869368/…
উইলিয়ামস

4

না ssh-keygen -l -f ~/.ssh/known_hostsসাহায্য করে? ( -vআপনাকে ব্যবহার করে দুর্দান্ত ছোট ধন মানচিত্রও পাওয়া যায়, যেমন

+--[ RSA 2048]----+
|        .        |
|       + .       |
|      . B .      |
|     o * +       |
|    X * S        |
|   + O o . .     |
|    .   E . o    |
|       . . o     |
|        . .      |
+-----------------+

2
কঠোর অর্থে না, এটি এখনও বেস 64। পিডিওর এর হ্যাশ হওয়ার ব্যাখ্যাটি বোঝায় যে এটি একতরফা জিনিস তাই আমি অনুমান করি যে আমি হোস্টের নাম না জানলে আমি আটকে আছি।
কলিন নেওয়েল

এটি আমাকে সাহায্য করেছিল। আমি বিশেষত যা চেয়েছিলাম তা একটি সংমিশ্রণ ছিল। পূর্বে যাচাইকৃত ssh-keygen -l -f ~/.ssh/known_hosts -F <hostname>
এসএসএস

আহ, ssh-keygen -l -F <hostname>আরও সহজ
isaaclw

2

প্রতিটি "জ্ঞাত_হোস্ট" লাইন ("ssh-dss" বা "ssh-rsa" স্ট্রিংয়ের আগে) এর শুরুতে হোস্ট স্ট্রিং / আইপি থাকে:

hostgn6 ssh-dss AAAB3NzaC1kc3MAAACBAIfGV4+/28Zr+dT/i+ifydUBS0dMRUjCtExIThOj3Yexynu+wSRGjMm4GfF+og2kAljZyUjhBFeM+WYbJzcDSDB [...] ==
yumyumn6.dik6.dir2g.some.net ssh-dss AAAAB3NzaC1kc3MAAACBAIfGV4+/28Zr+dT/i+ifydUBS0dMRUjCtExITh [...] ==

2
... এবং এইভাবে awk '{print $1}' known_hostsকৌশলটি করে। সচেতন থাকুন যে অ-মানক পোর্টগুলিতে শোনার সার্ভারগুলি শেষ হিসাবে বলা [some-server]:5555হয় known_hosts
sr_

3
দুর্ভাগ্যক্রমে আমার মধ্যে না। মাই দেখতে বেস 64৪ এনকোডড ডেটার মতো দেখতে আরও বেশি। আমার ফাইলটিতে ডেটা পাইপও সীমিত।
কলিন নেওয়েল

আপনি তখন কোন ssh সফটওয়্যার ব্যবহার করছেন (আমরা ধরে নিছিলাম যে আপনি প্রায় স্ট্যান্ডার্ড ওপেনশ সফ্টওয়্যারটি ব্যবহার করছেন)?
ওউকি

আমি আমার প্রশ্নে আরও বিশদ যুক্ত করেছি।
কলিন নেওয়েল

7
@ পিডো-র বিবরণ অনুসারে, আপনার এসএসডিটি "হ্যাশকানডেস্টহোস্টস" হিসাবে সেট করা আছে যা কিছুটা মলদ্বার দেখা দিতে পারে তবে এটি সুরক্ষা উদ্বেগের বিষয়। এবং অবশ্যই আপনার "পরিচিত_হোস্টগুলি" থেকে হ্যাশগুলি বিপরীত করার এবং হোস্টের নামগুলি পাওয়ার কোনও উপায় নেই।
ওউকি

2

ফিঙ্গারপ্রিন্টগুলি তালিকাবদ্ধ করতে -lবিকল্প এবং আপনার ফাইলে একটি হোস্টনাম অনুসন্ধান ssh-keygenকরার -Fবিকল্পটি ব্যবহার known_hostsকরুন।

$ ssh-keygen -l -F sdf.org
# Host sdf.org found: line 835 type RSA
2048 6e:cd:53:4f:75:a1:e8:5b:63:74:32:4f:0c:85:05:17 |1|9J47PEllvWk/HJ6LPz5pOB2/7rc=|ld0BtQh5V3NdhBHBwR/ZqSv8bqY= (RSA)

আপনি ssh-keyscanনিজের আঙুলের ছাপটিকে known_hostsসার্ভার থেকে একের সাথে তুলনা করতে ব্যবহার করতে পারেন ।

$ ssh-keyscan sdf.org | awk '{print $3}' | base64 -d | openssl md5 -c
# sdf.org SSH-2.0-OpenSSH_7.1
# sdf.org SSH-2.0-OpenSSH_7.1
no hostkey alg
(stdin)= 6e:cd:53:4f:75:a1:e8:5b:63:74:32:4f:0c:85:05:17
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.