ネットワヌクファむルシステムで高麗倧孊を蚪問する方法


たえがき


か぀お2000幎代前半に、倚くの人は、読み取り曞き蟌みされたWindowsマシンずリ゜ヌスSMBを怜出するために、プロバむダヌのネットワヌク、さらに遠くのタヌゲットを定期的に「スキャン」したずいう事実に楜したれおいたした。 怜玢プロセスは基本的なものでした。IPアドレスの範囲たたはネットワヌクマスクが蚭定され、さたざたなツヌルLANguardネットワヌクスキャナヌ、xIntruderなどを通じおアドレスがスキャンされ、サヌバヌが特定されたした。 倚くの堎合、怜出されたマシンでは、さたざたなネットワヌクリ゜ヌスディスク、プリンタヌ、ディレクトリを読み取りに䜿甚でき、曞き蟌みにはあたり䜿甚されおいたせんでした。 IPC $ずナヌザヌ「Guest」を䜿甚した匿名セッションを通じお、マシン䞊のリ゜ヌスを転送するこずができたした。パスワヌドのない「Administrators」のメンバヌがいるこずもありたす。たた、怜出されたマシンに察する「アクティブな」効果の埌、Windows NT 4.0たたはWindowsを実行しおいるサヌバヌを芋぀けるこずができたした2000サヌバヌ。 圓時のWindows 98が搭茉されたマシンを芋぀けるこずが運がよければ、それは簡単になりたした-圓時、指定されたOSにはSMBでの䜜業の実装など、さたざたな脆匱性が含たれおいたした。リ゜ヌスにアクセスするためのブルヌトフォヌスは、ダむダルアップでも数分で実行されたした接続。 昔に突入したい人のために、Windows 9xぞの「アクセス」- ハッキング公開ネットワヌクセキュリティの秘密ず゜リュヌションに぀いお詳しく曞かれおいたす。 第4章Windows 95/98ずMeのハッキング 。 しかし、蚘事の残りの郚分はそれに぀いおではありたせん。


2019幎に、そのような「゚ンタヌテむメント」が可胜になるずは思いもしたせんでした。 䌌おいるのは、他の人が利甚できるすべおの奜奇心をそそるリ゜ヌスを芋぀けやすいこずです。 さらに、過去2幎間で人気のあるトレンドMongoDBたたはElasticsearchデヌタベヌスの怜玢がアクセスできるようになっおいるではなく、少し珟実的なサヌビスに焊点を圓おたす。


さらに、私は手順党䜓、圌らの倫理芏範を評䟡しないこずを提案したす。この投皿は、ロシア連邊刑法の䞀郚の蚘事たたは他の州の法埋からの同様の芏範に起因する行動の呌びかけではないこずに泚意しおください。


ネットワヌクファむルシステムNFS


ネットワヌクファむルシステムNFS -ファむルシステムぞのネットワヌクアクセスのためのプロトコルで、ネットワヌクを介しおリモヌトファむルシステムに接続マりントできるようにし、ナヌザヌがファむルにアクセスできるようにし、ロヌカルファむルず同じようにこれらのファむルを操䜜できるようにしたす。


もちろん、垂堎で入手可胜なほずんどのネットワヌク接続ストレヌゞNASはNFSをサポヌトし、NFSサヌビスを展開できるオペレヌティングシステムを備えたサヌバヌだけでなく、ロヌカルリ゜ヌスぞのアクセスも提䟛したす。


Ubuntu OSおよびIPアドレス192.168.1.1からサヌバヌリ゜ヌスにアクセスするための蚭定は、/ etc / exportsファむルに含たれおおり、次の圢匏の゚ントリです。



この堎合、ネットワヌク192.168.1.0/255.255.255.0、192.168.101.0/255.255.255.0のIPアドレスを持぀クラむアントに察しお、サヌバヌずそのリ゜ヌス/デヌタ/ place1ぞのNFSアクセスが可胜です。


/ home / user / exampleなどのロヌカルディレクトリにリモヌトリ゜ヌスをマりントしたす。クラむアントが蚱可されたサブネット䞊にあり、NFSクラむアントがむンストヌルされおいる堎合、Ubuntuコマンドを䜿甚しお可胜です。
mount -t nfs 192.168.1.1:/data/place1 /home/user/example


IPアドレスの代わりに*たたは党員が指定されおいる堎合、倚くの堎合、クラむアントはシステムにリモヌトリ゜ヌスをマりントできたす。


ナヌザヌたずえば、Ubuntuの䞋は、タヌミナルに入力するだけですshowmount -e ip-targetず、サヌバヌサヌバヌの゚クスポヌトリストで利甚可胜なリ゜ヌスに関する情報を取埗したす。


䟋
showmount -e 81.24..
Export list for 81.24..:
/home/admin 192.168.52.1/24


したがっお、次のシナリオが圢成されたす。NFSを実行しおいるサヌバヌを怜出し、サヌバヌ䞊の䜿甚可胜なリ゜ヌスを決定し、結果を単䞀の出力フォヌムに統合しお、状況に応じお続行したす。


リ゜ヌスに䜕ができるか-明らかに、䜕でも



IPアドレスを取埗する


グロヌバルむンタヌネット䞊のNFSを䜿甚したサヌバヌの怜出に関しおは、2぀の方法がありたす。独立した方法、さたざたなツヌルを䜿甚する方法、既補のサヌドパヌティスキャン結果、デヌタベヌス、サヌビスです。 実際、すべおIPアドレスのリストを取埗するこずになりたす。 ロヌカルネットワヌクでは、オプションは明癜だず思いたす-独立しお行動したす。


開いおいるTCPポヌト111、2049は、NFSサヌビスが機胜しおいる蚌拠ずしお圹立ちたす。
サヌバヌIPアドレスのリストを独立しお取埗するには、アドレス範囲たたはサブネット党䜓をスキャンしお、指定された開いおいるポヌトの存圚を確認するだけで十分です。 これには、nmap、masscanなどのツヌルが適しおいたす。


たずえば、コマンドmasscan -p111,2049 200.26.1XX.0/24 —rate=10000開いおいるポヌト111、2049 masscan -p111,2049 200.26.1XX.0/24 —rate=10000ネットワヌク200.26.1XX.0 / 24が数秒間スキャンされたす。
Scanning 256 hosts [2 ports/host]
Discovered open port 2049/tcp on 200.26.1XX.28
Discovered open port 111/tcp on 200.26.1XX.15
Discovered open port 111/tcp on 200.26.1XX.20
Discovered open port 111/tcp on 200.26.1XX.28
怜出された各IPアドレスに加えお、次のコマンドを適甚できたす。
showmount --no-headers -e 200.26.1XX.28
結果
/usr/common *
明らかに、自分でむンタヌネット空間の䜕癟䞇ものIPアドレスをスキャンするこずは可胜ですが、これは最速の方法ではなく、玠晎らしいShodanサヌビスはサブタスクの゜リュヌションになる可胜性がありたす、もちろん他にもありたすが、これには非垞に䟿利な構文ずAPIがありたす 。 サヌビスの機胜の説明を掘り䞋げるこずは、この蚘事の目的ではありたせん。 簡単に説明するず、このサヌビスはむンタヌネットに接続されたデバむスの高床な怜玢を提䟛したす。 怜玢条件は、ネットワヌク識別子およびその他のメタデヌタ蚌明曞のシリアル番号などにするこずができたす。 Shodanにはタヌゲットを絞った怜玢のための倚くの機胜がありたすが、たずえば、mongodb、elastic、たたはapacheずいう補品名の補品基準があるため、NFSで個別の怜玢は芋぀かりたせんでした。 したがっお、Web NFSを䜿甚するず、次のク゚リを怜玢できたすnfs、tcp 2049、tcp 111、 Portmap2049など。



たたは、ShodanクラむアントCLIをむンストヌルし、サヌビスに察するKEY APIを初期化しお、コマンドラむンから怜玢を呌び出したす。䟋


  1. shodan search --fields ip_str、ポヌトPortmap2049
  2. shodan search --fields ip_str、port --separator、nfs
    結果
    139.196.154.23,111、
    198.27.116.37,111、
    95.211.192.96,111、
    80.23.66.122,111、
    210.116.82.97,111、
    192.198.82.3,111、
    165.227.67.242,111、
    116.12.48.9,111、
    85.34.250.102,111、
    182.75.249.197,111、
    192.151.212.175,111、
    119.216.107.127,111、
    217.59.68.2,111、
    178.159.12.97,111、
    ...

したがっお、有効なNFSサヌビスを持぀デバむスのIPアドレスのリストを取埗する方法は理解できたす。


特定のサヌバヌで䜿甚可胜なNFSリ゜ヌスに関する情報を取埗したす。


この問題をたずめお解決する方法は倚数ありたす。bashスクリプトを䜜成する、showmountを呌び出しお䞀連のコマンドからトリッキヌなパむプラむンを線成する、その他のオプション-奜きな人。


私の研究では、Pythonでこの問題を2぀の異なる方法で解決したした。 最初の方法は、sshを介しおNFSクラむアントを䜿甚しおUbuntuのパヌ゜ナルサヌバヌに接続し、目的のIPアドレスのプヌルを䜿甚しおshowmountコマンドを呌び出したす。 2番目の解決策は、玔粋なPythonです。


私は疑問が生じるかもしれないず思うなぜそれがそんなに難しいのか、なぜPythonでは


以前のHabrに関する蚘事のように、Lampyreツヌルを䜿甚するので、2月26日に圌らはPythonでプラットフォヌムにモゞュヌルを曞き蟌むこずができるAPIを公​​開したした。


ランピレ

Lampyreに぀いお簡単に説明したす。これは、同じ目的でよく知られた人気のあるツヌルであるMaltegoに類䌌した、Windows甚の「厚い」クラむアントを䜿甚したOSINTおよびデヌタ分析甚の゜フトりェアプラットフォヌムです。 Maltegoず同様、Lampyreは「すぐに䜿える」さたざたなサヌビスに察する䞀連のリク゚ストを提䟛したす。 ク゚リは、抂念的には、既知の補品からの倉換ず同等です。 䜕かが足りない堎合、独自のリク゚ストを曞くこずが可胜になりたした。 Lampyreで提䟛されるリク゚ストは、独立しお蚘述されたプラットフォヌムむンフラストラクチャで実行されたす-マシン䞊で。 ぀たり、ナヌザヌはPythonをむンストヌルし、必芁なすべおのラむブラリをコヌドで䜿甚する必芁がありたす。


APIの機胜をテストするこずにしたした。 重芁な点は、特にナヌザヌがサヌビスから独自のKEY APIを持぀必芁がないため、LampyreはShodanぞのいく぀かの「リク゚スト」を既に持っおいるずいうこずです。 したがっお、1回のリク゚ストで、NFSサヌビスを䞊げたIPアドレスのリストを取埗できたす。2回目のリク゚ストで、私が曞いたモゞュヌルは利甚可胜なリ゜ヌスをチェックし、同じグラフ䞊でリ゜ヌスの特性で結果を芖芚化したす。


そしおここ韓囜


Shodanから怜玢しおモゞュヌルをテストするず、アゞア諞囜のShodanサヌビスによるスキャン結果の品質ず量、状況が䞍安定なリ゜ヌスにどのように関係するかを芋るこずが興味深いものになりたした。 遞択は倧韓民囜にかかった、私は韓囜が非垞に技術的に先進囜であるず蚀う必芁はないず思う、そしお私はあなたがそのネットワヌクで面癜い䜕かを芋぀けるこずができるこずを提案した。


Shodanによる怜玢、ク゚リ nfs 、囜倧韓民囜コヌド、 kr



結果はすぐに来たした䞋の画像では、䞀般的なスキヌムの䞀郚のみです。



ホストリスト



それらのすべおは、グラフず名前の䞡方で芋るこずができるように、AS1781ずしおリストされおいたす- 韓囜科孊技術院



韓囜先端技術研究所 -倧田にある韓囜を代衚する孊術研究倧孊は、韓囜の党囜ランキングの2番目の行にありたす。 倧孊は䞀貫しお韓囜のトップ教育機関の5に含たれおいたす。


指定されたIPアドレスを、蚘述されたモゞュヌル「ExploreNFSSSH」ぞの入力匕数ずしお䜿甚したす。その結果、



グラフに衚の結果を衚瀺するためのこのようなスキヌムをすぐに䜜成したしたこの蚘事の埌半でグラフを構築するためのスキヌムず原則に぀いお。



Shodanスキヌマず結合した結果



グラフの頂点ず関係を分析するずき、誰がアクセスできるか/ homeリ゜ヌスがどのアドレスにあるかが明らかになりたす*。


芖芚的認識を改善するには、グラフオブゞェクトのプロパティずダむアグラムの他の蚭定を倉曎したす。



もちろん、サヌバヌの1぀にリ゜ヌスの䞀郚を亀互にマりントしお、勉匷を始めたした。 どこでもほが同じでした-ナヌザヌディレクトリasm、hoo、hyshin、jay、jiwon、jkhee110、jokangjin、kmh603、ksm782、lee、linus、lost + found、marvel_guest、pie、qwe、scloud、seokmin、sgim、thrlek、 yoosj、ysha、zinnia7。


ファむルを含むほずんどすべおのディレクトリが読み曞きされたした。 .sshの䞀郚のナヌザヌには、それらぞの曞き蟌みアクセス暩を持぀authorized_keysファむルがありたした。


キヌを生成し、ナヌザヌの1人のauthorized_keysにコピヌし、ポヌト2222でsshを介しおサヌバヌに接続し、Shodanからデヌタからポヌト番号を受け取りたした。


ナヌザヌ、ネットワヌク蚭定



ネットワヌク䞊のホスト



ファむル/ etc /゚クスポヌトおよびドラむブ



ファむル/ etc / fstabおよびOS



これは倧孊院生や孊生のためのある孊郚のネットワヌクであり、倚くの異なるPython゜ヌス、GPUやAnacondaディストリビュヌションなどに関連するものがあるため、サヌバヌ䞊で䜕らかの蚈算を実行するず考えおいたす。 私はすべおを勉匷したわけではなく、これで䜕をするべきか考え始めたした。もちろん、ほずんどのノヌドで「歩く」こずができたしたもっず゚キゟチックな䜕かを考えられるかもしれたせんが、それはあたり興味を惹きたせんでした。 そしお、私は次のこずを考えたした研究所は科孊的で先進的であるため、情報セキュリティの分野があるはずです。 実際、実隓宀党䜓でさえ ゜フトりェアセキュリティラボずそのヘッドSang Kil Cha
私は圌に手玙を曞くこずに決めたので、圌らは蚀う、むンタヌネット䞊のすべおの人がNFSリ゜ヌスを読み取りおよび曞き蟌み蚱可で接続できるようにするこずは非垞に危険です、明らかにあなたは䜕かを修正し、スクリヌンショットを添付しお送信する必芁がありたす


手玙1
芪愛なるサンキルチャ、
kaist.ac.krのりェブサむトで、KAISTの䞻芁なSoftSec Labず呌ばれおいるように、私はあなたに手玙を曞いおいたす。
情報セキュリティの分野での調査䞭に、意図せず、偶然にも次のサヌバヌが怜出されたした。
143.248.247.131-psi.kaist.ac.kr
143.248.247.4-jarvis3.kaist.ac.kr
143.248.247.169
143.248.247.223
143.248.247.235
143.248.247.251-marvel.kaist.ac.kr
143.248.247.239-jarvis.kaist.ac.kr
143.248.247.194-hulk.kaist.ac.kr
143.248.2.23
これらのサヌバヌはすべお、NFSNetwork File Systemサヌビスが皌働しおいたす。
これらのサヌバヌぞのアクセスのセキュリティレベルは非垞に䜎いです。
すべおのコンテンツを含むこれらのサヌバヌのホヌムディレクトリには、むンタヌネットを䜿甚する誰でもアクセスできたす。
たずえば、蚭定nfs-/ etc / exports 143.248.247.251-> / home たたは143.248.247.239
showmount -e 143.248.247.239
143.248.247.239の゚クスポヌトリスト
/デヌタ
/ home / appl
ほずんどのサヌバヌのナヌザヌディレクトリは、パブリックおよびプラむベヌトsshアクセスキヌを含むサブディレクトリを含め、読み取りおよび曞き蟌みのためにアクセスできたす。
ファむルを線集するず、新しいアクセスキヌを远加し、サヌバヌぞのリモヌトsshアクセスを取埗しおから、いく぀かの内郚KAISTサブネットにアクセスできたす。
このような浅いアクセスをテストするためだけに、倉曎は行われず、デヌタの線集、コピヌ、削陀も行われず、むンフラストラクチャぞの害もありたせんでした。
䜕らかの謝蟞ず蚌拠に぀いおは、添付ファむルをご芧ください。
芁件やクレヌムはありたせんが、ネットワヌクセキュリティレベルを倧幅に匷化するこずをお勧めしたす。

すぐに圌らは私に答えたした、無料翻蚳ありがずう、私たちは誰にでも転送したす。


回答1
教えおくれおありがずう このメヌルをネットワヌクずセキュリティの担圓者に転送したす。 ベスト、サンキル

この蚘事を公開する前に、䜕が倉曎されたかを確認するこずにしたした。



実際、リ゜ヌスぞのアクセスは内郚ネットワヌク䞊のマシンからのみ蚱可されおいたしたが、サヌバヌ143.248.247.251に぀いおはどうでしたか。 衚の゚ントリによるず、NFS蚭定のホストリ゜ヌスは*のたたです。 テヌブルの「マッピング」の別のバヌゞョンをグラフにスケッチしたした。



「マッピング」の倉曎点NFSオブゞェクトは、IPずNFSパスずいう2぀の同䞀の属性で「接着」されおいたす。 Statusオブゞェクトは、生レコヌド列の内容を含むvalue属性に倀「 * 」が含たれる堎合にのみ䜜成されたす
そしお、テヌブルのグラフは新しいフォヌムに衚瀺されたす



さお、ずころで、内郚ネットワヌクのアドレス指定がはっきりず芋えるようになりたした。サヌバヌ143.248.247.251では、ナヌザヌディレクトリ、ファむルの内容を線集するこずもできたす。 原則ずしお、可胜性は以前ず同じたたでした。


そしお、私はサンキルチャ氏に2番目の手玙を曞いおいたす。同様の最初の内容で、人気のあるhabr.comリ゜ヌスの蚘事にいく぀かのむベントが掲茉されるこずに泚意しおください。


手玙2
芪愛なるサンキルチャ、あなたに良い䞀日を。
メヌルを受け取った埌に䜕か倉曎があったかどうかを確認し、実際にアクセス蚭定を倉曎したした。 しかし、明らかにセキュリティ゚ンゞニアは143.248.247.251 IPアドレスを陀倖し、その蚭定は同じたたでした。 芋知らぬ人がアクセスできないように、このIPも保護しおください。
情報セキュリティのテヌマに関する蚘事を曞いおいるので、 https://habr.comに投皿したす 。 これはロシアで非垞に人気のあるりェブサむトです。 この蚘事には、NFSアクセス蚭定の質の䜎さに関するいく぀かの文章ず、サヌバヌの事䟋のいく぀かが含たれたす。 蚘事が掲茉されたら、その蚘事ぞのリンクをお送りしたす。

Lampyre APIの䜿甚方法ずモゞュヌルの䜜成方法


モゞュヌルは、IPアドレスのリストたたは192.168.0 / 24の圢匏のサブネットのリストを入力ずしお受け入れる必芁がありたす-この段階では、サブネットの堎合、コヌド内でIPアドレスの文字列の関䞎に関する入力デヌタを個別に怜蚌する必芁がありたす- IPリストに倉換したす。


次のステップは、Python paramikoラむブラリを介しお、パヌ゜ナルsshサヌバヌずシリアルモゞュヌルコンセプトコヌドに非同期の詊みが存圚するコマンド呌び出しにアクセスしたす。
timeout {timeouts} showmount --no-headers -e {ip}
結果の出力は、Pythonコヌドを介しお、Pythonの蟞曞のリストである出力構造に解析されたす。
蟞曞のキヌ



さらに、この抂念の抂念によれば、status_ipキヌの倀をサブゞェクトに解析しようずするプリミティブな詊みが行われたすIPアドレス、ホストレコヌド、「*」たたは「everyone」倀


APIのドキュメントずサポヌトLampyre.ioの説明によるず、各モゞュヌルは1぀以䞊のテヌブルにデヌタを返す必芁がありたすが、テヌブルはAPIの䞀郚ずしお蚘述される必芁がありたすタスクヘッダヌ、テヌブルヘッダヌ。 実際、これがモゞュヌルの䞻な結果です。
したがっお、蟞曞キヌを考慮した最終結果は衚になりたす。


 class NFSHeader(metaclass=Header): display_name = 'Search data from NFS services' current_day = Field('Date', ValueType.Datetime) host_query = Field('Search ip', ValueType.String) shared_path = Field('NFS path', ValueType.String) ip = Field('ip address', ValueType.String) network = Field('network address', ValueType.String) host = Field('host', ValueType.String) status = Field('raw record', ValueType.String) 

サヌバヌでのshowmountコマンドの結果の分析からの倀わずかに倉曎されたがテヌブルに曞き蟌たれたす。 クラス内のフィヌルドの名前はそれ自䜓を衚しおおり、生のレコヌド列には、リ゜ヌスぞのアクセスに関する情報が栌玍されたす。 ある意味で、NFSリ゜ヌス䞊のデヌタのこの分析はOSINTず芋なすこずもできたす。さたざたなIPアドレスからのアクセスの可胜性に関する情報は、リ゜ヌスの所有者たたはリ゜ヌスネットワヌク内のアドレス指定のアむデアを提䟛したす。 たずえば、NFSサヌビスを備えたサヌバヌのIPアドレスはりクラむナにあり、アクセスが蚱可されおいるIPアドレスはドむツにありたす。



たた、この䟋の調査を展開するず、NFSだけでなく、アドレス77.120.103.9、138.201.202.135およびドメむン* .aniart.com.uaの1぀の蚌明曞を通じお、サヌバヌの接続がすぐに確認されたす。



デヌタをモゞュヌルに転送しおテヌブルに曞き蟌む方法
Taskクラスから独自のSearchDataNFSクラスを䜜成したす。


 class SearchDataNFS(Task) 

get_idメ゜ッドでget_id 、䞀意のランダムUUID get_id返したす。


 def get_id(self): return 'bf51fd57-3fec-4416-9d07-905935a484b4' 

get_display_nameメ゜ッドget_display_nameは、タスクのget_display_name方法get_display_name指定し、 get_descriptionメ゜ッドでは、名前に応じおタスクの説明を指定したす。


 def get_display_name(self): return 'Explore: NFS(SSH)' def get_description(self): return 'Explore NFS resourses' 

get_headersメ゜ッドでget_headers䜿甚するテヌブルを指定したす。


 def get_headers(self): return NFSHeader 

get_enter_paramsメ゜ッドは、入力りィンドりのタむプを決定したす。 コヌドから、文字列のリストが入力に提䟛され、埌で独立しおIPアドレスに倉換されるこずが明らかです。


 def get_enter_params(self): ep_coll = EnterParamCollection() ep_coll.add_enter_param('ips', 'IP', ValueType.String, is_array=True, value_sources=[Attributes.System.IPAddress], description='IPs, networks') return ep_coll 

executeメ゜ッドでは、タスクのメむン実行が発生したす。


 ips = [] for input_ip in set(map(lambda z: z.strip(), enter_params.ips)): ips.extend(reparse_ip_hosts(input_ip)) 

入力パラメヌタヌには、enter_params.ipsからアクセスしたす。 reparse_ip_hostsメ゜ッドでは、IPアドレスぞの文字列の自己実装怜蚌が行われたす。


 targets = ((ip, port) for ip in ips for port in ports) lines = thread_async_nfs_one_client(targets) info = reparse_result_rows(lines) fields_table = NFSHeader.get_fields() for data_id in info: tmp = NFSHeader.create_empty() for field in fields_table: if field in data_id: tmp[fields_table[field]] = data_id[field] result_writer.write_line(tmp, header_class=NFSHeader) 

thread_async_nfs_one_client関数では、sshを䜿甚しおサヌバヌに接続しIPアドレス、ナヌザヌ名、およびパスワヌドはハヌドコヌドで蚭定されたす、前述のようにshowmountが実行され、結果が解析され、 reparse_result_rows関数で再床倉曎されたす。 infoは蟞曞で構成されるリストであるこずに泚意するこずが重芁です。各蟞曞では、キヌはNFSHeaderクラスのフィヌルドずしお名前が付けられたす。 ぀たり、蟞曞は次のようになりたす。


 { 'current_day': datetime.datetime(2019, 3, 6, 16, 48, 17), 'host_query': '192.168.1.1', 'shared_path': '/volume1/workspace', 'ip': '192.168.10.10', 'network': '', 'host': '', 'status': '192.168.10.10' } 

ディクショナリ内のデヌタ型を芳察するこずは重芁です。それらはテヌブルの説明ず同じでなければなりたせん。
次に、ルヌプ内で、リスト芁玠を反埩凊理し、APIメ゜ッド result_writer.write_line を介しお特定のNFSHeaderテヌブルに曞き蟌みたす。
詳现に぀いおは、ドキュメントを参照しおください。
基本的に、モゞュヌルはLampyreに远加する準備ができおいたす。


Lampyreでモゞュヌルを䜿甚する


sshが䜿甚されおいるずいう事実ずshowmountコマンドの実行により、もちろん、sshを介しおサヌバヌにアクセスできる必芁がありたす。 私のテストでは、この圹割はUbuntuずNFSクラむアントがむンストヌルされたVirtualboxの仮想マシンによっお果たされたした。


ナヌザヌのマシンでネむティブモゞュヌルを操䜜するには、Python 3.6が必芁です。むンタヌプリタヌぞのパスがシステム倉数に含たれおいるか、そのパスがLampyre\config\appSettings.configで指定されおいる必芁がありLampyre\config\appSettings.config 。 デフォルトでは、pythonPathキヌは蚭定でコメント化されおいたす。


Lampyreぞのモゞュヌルのロヌドは、次の手順で実行されたす。


  1. スクリプトりィンドりで、ファむルLampyre \ user_tasks \ ontology.pyアプリケヌションに付属をロヌドしたす。
  2. 同じりィンドりで、モゞュヌルこの堎合はnfs_via_ssh.pyをロヌドしたす。 䜕か問題が発生した堎合、 詳现ボタンが圹立ちたす
  3. 読み蟌み埌、 [タスク ]タブの[ 芁求の䞀芧 ]りィンドりに[ ロヌカル タスク ]セクションが衚瀺されたすモゞュヌルのコヌドでは別の方法で呌び出すこずができたす。名前はExploreNFSSSHです。


    曎新されたリク゚ストリストりィンドり

  4. 前述したように、NFSを䜿甚したサヌバヌのIPアドレスは、最初にQuerytcp 2049パラメヌタヌ単にnfsを指定できたすを䜿甚しおShodan怜玢ク゚リを実行するこずで最適に取埗できたす。 デフォルトで1に蚭定されおいるPageたたはrangeパラメヌタヌは、Shodanサヌビスから1ペヌゞの回答が返されるこずを意味したす。ペヌゞには通垞100の結果行がありたす。
    Shodanの実行の結果

  5. IPアドレスをテヌブルたたは図からクリップボヌドにコピヌしお、IP ExploreNFSSSHモゞュヌルりィンドりに貌り付けたす。 実行しお結果を期埅したす


もちろん、独自の倖郚サヌバヌからの垯域幅ず、モゞュヌルコヌドで厳密に蚭定されおいるタむムアりトを考慮する必芁がありたす。


結果は衚の圢匏で取埗されたすが、続行しお衚の結果をShodan怜玢の実行結果のグラフず結合できたす。 最初は知芚するのが少し難しいでしょう。


結果を含むテヌブルの芖芚化


始めたしょう。 ナヌザヌモゞュヌルの実行からの倀を持぀列のセットを持぀テヌブルがありたす。 ただし、[リク゚スト]りィンドりの[スキヌマ]ボタンに泚意を払うず、非アクティブになりたす。 テヌブルのグラフぞのマッピングは蚭定されおおらず、蚭定する必芁があるためです。


スキヌム1最良ではない
モゞュヌル結果からテヌブルが開いた状態で、右䞋隅に「䜜成テンプレヌトの远加」むンタヌフェヌス芁玠があり、クリックするず「䜜成テンプレヌト」りィンドりが衚瀺されたす。 これでは、テヌブル行のグラフオブゞェクトぞのマッピングを指定するこずができたす。蚘事ではプロセスを詳现に説明したせん。Youtube のプラットフォヌムチャネルのリンクはこれを行う方法を瀺したす。



グラフのテンプレヌト



IP、DomainオブゞェクトはLampyreにあり、NFSおよびNetworkオブゞェクトを䜜成したこずに泚意するこずが重芁です。各オブゞェクトには、ナヌザヌがテヌブルの列を「マップ」する属性がありたす。さらに、オブゞェクトはいく぀かの属性を持぀こずができたす。グラフの頂点オブゞェクトの名前を衚瀺するために、いく぀かの属性頂点がグラフ䞊で「くっ぀く」が重芁です。たずえば、NFSオブゞェクトの堎合、NFSパスずステヌタスずいう2぀の属性が䜜成され、キヌ属性はNFSパスです。右偎のオブゞェクトの画像をクリックしお、オブゞェクトにアむコンを割り圓おるこずができたす。オブゞェクトの属性ぞの列の「マッピング」が完了するず、スキヌムを構築できたす-䞊蚘の[ スキヌマ ]ボタンがアクティブになりたす。
テンプレヌトがありたせん



衚のグラフのテンプレヌトは次のように構成されおいたす。



«» — i2 (IBM i2 Analyst's Notebook) :



«» , : IP- IP- , , NFS , IP. ( ).


2



すでに良い。 — , IP- :



, , (csv) . , «» . «» , .


Shodan NFS Shodan search, add to active tab — :



:



Lampyre , ssh.


結論の代わりに-同僚、定期的にNFSの蚭定の正確さだけをチェックしおください。

Source: https://habr.com/ru/post/J444382/


All Articles