1. 浸透プロセス
メッセージを収集する
脆弱性検証/脆弱性攻撃
権限昇格、権限維持
ログのクリーンアップ
メッセージを収集する
一般に、悪用可能な脆弱性を取得するために、ポート スキャンと脆弱性スキャンが最初に実行されます。より多くの検索エンジンを使用する
ポートスキャン
承認があれば、nmap、masscan などのポート スキャン ツールを直接使用し、py スクリプトを作成して、開いているポートを直接取得し、サーバー側のバナー情報を取得します。Python を使用したポート スキャンの概要https://thief.one/2018/05/17/1/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io Windows での Powershell ベースのポート スキャン スクリプト。
https://github.com/BornToBeRoot/PowerShell_IPv4PortScanner/tree/master/Scripts
脆弱性スキャン
シロクマ スキャナー、Nessus、awvs、その他の不足しているスキャン ツールを使用してターゲットを直接スキャンすると、生き残っているホストとホストの脆弱性を直接確認できます。
2. 脆弱性攻撃
開いているポートを見つけるためにポート スキャンのみを使用する場合は、バナー情報を取得した後、脆弱性データベース (seebug、ExploitDB) で対応する CVE を検索し、脆弱性が存在するかどうかを確認する必要があります。セキュリティ検査では通常、可能な限りすべての脆弱性を発見し、脆弱性のリスクを評価して修復しようとします。侵入については、リスクの高いリモート コード実行と、直接悪用される可能性のある機密情報漏洩の脆弱性にのみ焦点を当てます。脆弱性を検証するには、POC と EXP を対応する CVE 番号で見つけたり、ExploitDB でエクスプロイト コードを確認したり、bug を参照したり、関連する脆弱性検証や利用ツールを github で検索したりできます。
2.1 Webアプリケーション
インジェクション、アップロード、コード実行、ファイルインクルード、クロスサイトスクリプティングなどの脆弱性を直接探して攻撃することができます。一般に、AWVS を使用して一般的な脆弱性を直接スキャンできます。
2.1.2 Webミドルウェア
(1)トムキャット
Tomcat は、Apache Jakarta ソフトウェア組織のサブプロジェクトです。Tomcat は、JSP/サーブレット コンテナです。Sun の JSWDK (Java Server Web Development Kit) に基づいて開発された、JSP およびサーブレット仕様の標準実装です。Tomcat を使用すると、体験できます。 JSPとサーブレットの最新仕様。
ポート番号: 8080
攻撃方法:
デフォルトのパスワード、弱いパスワード、ブラスティング、tomcat5 にはデフォルトで 2 つの役割があります: tomcat と role1。このうち、両方のアカウント、tomcat、role1 のデフォルトのパスワードは tomcat です。弱いパスワードは通常、5 より前のバージョンに存在します。
war バックドア ファイルを管理バックグラウンドでデプロイする
リモートでコードが実行される脆弱性
参考:
(2) ジェイボス
EJB を実行する J2EE アプリケーション サーバーです。これはオープンソース プロジェクトであり、最新の J2EE 仕様に従っています。JBoss プロジェクトは、当初から EJB コンテナから、J2EE 仕様の最新テクノロジーを体現する J2EE ベースの Web オペレーティング システム (Web 用オペレーティング システム) まで開発してきました。
ポート: 8080
攻撃方法:
弱いパスワード、爆発
バックグラウンドデプロイメント戦争バックドアを管理する
逆シリアル化
リモートコード実行
参考:
(3)ウェブロジック
WebLogic は、米国 Oracle Corporation が開発したアプリケーション サーバーです。正確に言うと、JAVAEE アーキテクチャに基づいたミドルウェアです。WebLogic は、大規模な分散 Web アプリケーションやネットワーク アプリケーションを開発、統合、展開、管理するための Java アプリケーション サーバーです。およびデータベース アプリケーション。Java の動的機能と Java Enterprise 標準のセキュリティを大規模ネットワーク アプリケーションの開発、統合、展開、管理に導入します。
ポート: 7001、7002
攻撃方法:
弱いパスワード、ブラスト、弱いパスワードは通常、weblogic/Oracle@123 または weblogic です。
バックグラウンドデプロイメント戦争バックドアを管理する
SSRF
逆シリアル化の脆弱性
weblogic_uac
参考:
(4)ウェブスフィア
IBM社の代表的な電子商取引アプリケーション開発ツールと動作環境のセットです。
ポート: デフォルトのポート: 908*、最初のアプリケーションは 9080、2 番目は 9081、コンソールは 9090
攻撃方法:
コンソールログインブラスト
多くのイントラネット WebSphere コンソールには弱いパスワードやデフォルトのパスワードがあり、ログインには admin/admin や webshpere/webshpere などのパスワードを使用できます。このパスワードを使用してコンソールにログインした後、war パッケージをデプロイして WEBSHELL を取得できます。
逆シリアル化
任意のファイル開示
参考:
(5) シラスフィッシュ
2.1.3 Webフレームワーク
(1) ストラット2
Struts2 は、エンタープライズ対応 Java Web アプリケーションを作成するためのエレガントで拡張可能なフレームワークです。確かに抜け穴はたくさんあり、大きな抜け穴が露呈するたびにプラットフォームは大騒ぎになります。
悪用可能な脆弱性
S2-046 CVE-2017-5638 Struts 2.3.5-2.3.31、Struts 2.5-2.5.10
S2-045 CVE-2017-5638 Struts 2.3.5-2.3.31、Struts 2.5-2.5.10
S2-037 CVE-2016-4438 ストラット 2.3.20-2.3.28.1
S2-032 CVE-2016-3081 ストラット 2.3.18-2.3.28
S2-020 CVE-2014-0094 ストラット 2.0.0-2.3.16
S2-019 CVE-2013-4316 Struts 2.0.0-2.3.15.1
S2-016 CVE-2013-2251 Struts 2.0.0-2.3.15
S2-013 CVE-2013-1966 Struts 2.0.0-2.3.14
S2-009 CVE-2011-3923 Struts 2.0.0-2.3.1.1
S2-005 CVE-2010-1870 ストラット 2.0.0-2.1.8.1
参考:
https://github.com/SecureSkyTechnology/study-struts2-s2-054_055-jackson-cve-2017-7525_cve-2017-15095
(2) Springフレームワーク
Spring Framework は、オープンソースの Java/Java EE フルスタック (フルスタック) アプリケーション フレームワークであり、Apache License 2.0 オープンソース使用許諾契約の形式でリリースされ、.NET プラットフォームに移植されたバージョンもあります。Spring Framework は、基盤となるコードが複雑で混乱する原因となる可能性のある多数のプロパティ ファイルやヘルパー クラスを回避する、シンプルな開発方法を提供します。
悪用可能な脆弱性
CVE-2010-1622
CVE-2018-1274
CVE-2018-1270
CVE-2018-1273
逆シリアル化
ディレクトリトラバーサル
参考
2.1.4 Webサーバー
IIS : Windows 用 WWW サーバー
ポート: 80
攻撃方法:
WebDAV が有効になっている IIS では、サーバーの PUT ファイルを直接表示できます
短いファイル名の列挙の脆弱性
リモートコード実行
権限昇格の脆弱性
抜け穴の解析
参考:
アパッチ
ポート: 80
攻撃方法:
抜け穴の解析
ディレクトリトラバーサル
Nginx
ポート: 80
攻撃方法:
抜け穴の解析
ディレクトリトラバーサル
CVE-2016-1247: ホストの操作権限を取得する必要があり、攻撃者は任意のファイルをソフト リンクすることでログ ファイルを置き換え、権限昇格を実現してサーバーの root 権限を取得できます。
参考:
ライトTPD
ポート: 80
攻撃方法:
ディレクトリトラバーサル
2.2 共通の運用保守体制
一般に、自動展開と運用および保守の監視に関連するツールに分類されます。脆弱性は、検索エンジン、github 検索、ExploitDB 検索、および公式 Web サイトのセキュリティ通知を通じて入手できます。イントラネット上の汎用アプリケーションによくある問題は、パスワードが弱いことです。管理者が複数のシステムにログインできる場合、これらのシステムのアカウントとパスワードは基本的に同じです。
2.2.1 Gitlab
GitLab は、Ruby on Rails を使用して開発されたオープン ソース アプリケーションで、パブリック プロジェクトまたはプライベート プロジェクトの Web インターフェイスを介してアクセスできるセルフホスト型プロジェクト リポジトリを実装します。
悪用可能な脆弱性:
任意のファイルを読み取られる脆弱性
予期しないユーザー トークン漏洩の脆弱性
コマンド実行の脆弱性
参考:
2.2.2 ジェンキンス
Jenkins は、クロスプラットフォームの継続的統合および配信アプリケーション ソフトウェアです。これにより、新しいソフトウェア バージョンの継続的かつ安定した配信が容易になり、作業効率が向上します。また、DevOps ツールを使用すると、開発者はプロジェクトに変更を組み込み、幅広いテストおよび展開テクニックを使用することが容易になります。
悪用可能な脆弱性:
リモートでコードが実行される脆弱性
逆シリアル化の脆弱性
不正アクセスの脆弱性
ログインエントリの爆発
参考
2.2.3 パペット
Puppet Enterprise は、スクリプト化されたプロセスではなくコードを使用してシステムが自動的に構築、管理、構成される IT インフラストラクチャ プロビジョニング プロセスの一種である、コードとしてのインフラストラクチャ (IAC) の管理を専門としています。コードなので、プロセス全体を簡単に繰り返すことができます。Puppet を使用すると、バージョン管理、自動テスト、継続的配信が容易になり、問題やバグへの迅速な対応が可能になります。
悪用可能な脆弱性、少数の公開実証実験
逆シリアル化
リモートコマンド実行
2.2.4 アンシブル
Ansible は、クライアント指向のソフトウェアの導入と構成のための構成および管理ツールであり、Unix、Linux、および Windows をサポートしています。IAC ではなく JSON と YAML を使用し、node-agent をインストールする必要はまったくありません。Amazon EC2 だけでなく、OpenStack を介した社内システムでも利用できます。
悪用可能な脆弱性
リモートコード実行
2.2.5 ナギオス
Nagios は、Windows、Linux、Unix のホストのステータス、スイッチやルータ、プリンタなどのネットワーク設定を効果的に監視できる、オープンソースのコンピュータ システムおよびネットワーク監視ツールです。システムやサービスの状態に異常が発生した場合、初回はWebサイトの運用保守担当者にメールまたはSMSアラームで通知し、復旧後は通常のメールまたはSMS通知を送信します。
悪用可能な脆弱性
コードの実行
SQLi
参考
2.2.6 ザビックス
Zabbix は、SNMP、JMX、Zabbix Agent から提供されるデータを WEB GUI 経由で表示できる強力なオープンソース分散監視システムです。
悪用される可能性のある脆弱性 (詳細については ExploitDB を参照):
リモートコード実行
SQLi
シェルコマンドインジェクション
認証バイパス
デフォルトのアカウントとパスワード、デフォルトのパスワードは admin/zabbix または guest/empty
参考
2.2.7 黙認
Cacti は、PHP、MySQL、SNMP、RRDTool に基づいて開発されたネットワーク トラフィック監視用のグラフィカル分析ツールのセットです。
悪用可能な脆弱性
任意のコードの実行
SQLi
ログインブラスト
デフォルトのパスワード admin/admin
参考:
2.2.8 スプランク
Splunk Enterprise は、あらゆるソースからのマシンデータを監視および分析して、IT、セキュリティ、ビジネス パフォーマンスを最適化するための運用インテリジェンスを提供します。Splunk Enterprise は、直感的な分析、機械学習、パッケージ化されたアプリケーション、オープン API を備え、焦点を絞ったユースケースから企業全体の分析バックボーンまで拡張できる柔軟なプラットフォームです。
悪用可能な脆弱性
情報漏洩
コマンドインジェクション
サーバーリクエストの偽造
参考
ExploitDB 検索
2.3 一般的な Web アプリケーション
一般的なメールアプリケーションやCMSアプリケーションもあり、検索エンジンで該当する脆弱性を検索し、既知の脆弱性を利用して攻撃します。
2.3.1 メールシステム
Tencent Enterprise Mailbox や Ali Enterprise Mailbox を使用するものもあり、悪用可能な抜け穴が存在しにくいものもありますが、もう 1 つは独立して導入できるメール システムであり、政府や企業のメールボックス アプリケーションで一般的に使用されています。
コアメール
10億メール
35 インターネット
ターボメール
交換
IBM ロータス
2.3.2 CMS アプリケーション
2.4 データベース/キャッシュ/メッセージサービス
2.4.1 MySQL データベース
デフォルトのポート: 3306
攻撃方法:
ブラスト: 弱いパスワード
認証の脆弱性: CVE-2012-2122
サービス拒否攻撃
Phmyadmin ユニバーサル パスワード バイパス: ユーザー名: 'localhost'@'@" パスワードは任意
権利のエスカレーション
参考:
2.4.2 MSSQL データベース
デフォルトのポート: 1433 (サーバー データベース サービス)、1434 (モニター データベース監視)
攻撃方法:
ブラスト: 弱いパスワード/システム ユーザーを使用
注入
参考:
2.4.3 Oracleデータベース
デフォルトのポート: 1521 (データベース ポート)、1158 (Oracle EMCTL ポート)、8080 (Oracle XDB データベース)、210 (Oracle XDB FTP サービス)
攻撃方法:
ブラスト: 弱いパスワード
注射攻撃。
搾取; - 参照:
2.4.4 PostgreSQLデータベース
PostgreSQL は、完全な機能を備えたフリー ソフトウェアのオブジェクト リレーショナル データベース管理システムであり、世界で最も先進的かつ強力な無料のデータベース管理システムと言えます。Kali システムに msf を含めることでも、このデータベースが使用されます。postgresql データベース攻撃テクノロジについて話します。これに対する攻撃のほとんどは依然として SQL インジェクションであるため、インジェクションはデータベース内で変更されないトピックです。
デフォルトのポート: 5432
攻撃方法:
ブラスト: 弱いパスワード: postgres postgres
バッファオーバーフロー: CVE-2014-2669
参考:
2.4.5 MongoDB データベース
MongoDB、NoSQLデータベース、攻撃手法は他のデータベースと同様》
デフォルトのポート: 27017
攻撃方法:
ブラスト: 弱いパスワード
不正アクセス; github に攻撃コードがあります; クリックしてください
参考:
2.4.6 Redis データベース
Redis は、ネットワークをサポートし、メモリベースまたは永続的な C 言語で記述されたオープンソースのログタイプのキー/値データベースです。このデータベースは過去 2 年間で非常に普及しましたが、多くの問題が明らかになりました。特に少し前に摘発された不正アクセス。
攻撃方法:
ブラスト: 弱いパスワード
不正アクセス + SSH キーによるエスカレーション;
参考:
2.4.7 SysBase データベース
デフォルトのポート: サービス ポート 5000、リスニング ポート 4100、バックアップ ポート: 4200
攻撃方法:
ブラスト: 弱いパスワード
コマンドインジェクション:
参考
2.4.8 DB2データベース
デフォルトのポート: 5000
攻撃方法:
セキュリティ制限のバイパス: 成功時に不正なアクションが実行される可能性がある (CVE-2015-1922)
参考:
2.5 共通サービス/契約
2.5.1 FTPサービス
FTP サービス: FTP サービスは 2 つの状況に分類できます。1 つ目は、IIS の FTP ファイル共有や Linux のデフォルト サービス ソフトウェアなどのシステム ソフトウェアを使用して構成することです。2 つ目は、サードパーティ ソフトウェアを使用して構成することです。 Serv -U など、インターネット上に作成された単純な FTP サーバーもいくつかあります。デフォルトのポート: 20 (データ ポート)、21 (制御ポート)、69 (TFTP 小型ファイル転送プロトコル)
攻撃方法:
ブラスト: FTP 用のブラスト ツールは多数ありますが、ここでは owasp の Bruter と msf の FTP ブラスト モジュールをお勧めします。
匿名アクセス: ユーザー名: 匿名 パスワード: 空または任意のメールボックス
スニッフィング: FTP は平文伝送テクノロジーを使用します (ただし、スニッフィングは LAN に対して行われ、スプーフィングまたはゲートウェイをリッスンする必要があります)
バックドア vsftp
リモートオーバーフロー
ジャンプ攻撃
2.5.2 NFS サービス
NFS (Network File System) は、FreeBSD がサポートするファイル システムの 1 つであるネットワーク ファイル システムであり、ネットワーク内のコンピュータが TCP/IP ネットワークを介してリソースを共有できるようにします。NFS アプリケーションでは、ローカル NFS クライアント アプリケーションは、ローカル ファイルにアクセスするのと同じように、リモート NFS サーバーにあるファイルを透過的に読み書きできます。現在、NFS にはエクスポート フォルダーの悪用を防ぐ機能がありますが、レガシー システムの NFS サービスが不適切に構成されている場合、悪意のある攻撃者によって悪用される可能性があります。
攻撃方法
不正アクセス
参考
2.5.3 Sambaサービス
Samba は、Linux および UNIX システム上で SMB/CIFS プロトコルを実装するフリー ソフトウェアであり、サーバー プログラムとクライアント プログラムで構成されます。SMB は、ローカル エリア ネットワーク内の共有ファイルとプリンタをサポートする通信プロトコルであり、ローカル エリア ネットワーク内の異なるコンピュータ間でファイルやプリンタなどのリソースの共有サービスを提供します。
攻撃方法
リモートコード実行
弱いパスワード
不正アクセス(パブリック)
参考
2.5.4 SSHサービス
SSH はプロトコルであり、通常、プロトコル アプリケーションの実装には OpenSSH ソフトウェアが使用されます。SSH は Secure Shell の略称で、IETF のネットワーク ワーキング グループによって開発され、アプリケーション層とトランスポート層に基づくセキュリティ プロトコルです。SSH は現在、リモート ログイン セッションやその他のネットワーク サービスにセキュリティを提供するために設計された最も信頼性の高いプロトコルです。SSH プロトコルを使用すると、リモート管理プロセスでの情報漏洩を効果的に防ぐことができます。
ポート: 22
攻撃方法:
爆破
バックドア
脆弱性: 28 件のバックスペース脆弱性、OpenSSL 脆弱性
参考
2.5.5 Telnetサービス
Telnet プロトコルは TCP/IP プロトコル ファミリのメンバーであり、インターネット リモート ログイン サービスの標準プロトコルおよび主要な方法です。これにより、ユーザーはローカル コンピュータ上でリモート ホストの作業を実行できるようになります。エンド ユーザーのコンピュータ上の Telnet プログラムを使用して、サーバーに接続します。エンド ユーザーは Telnet プログラムにコマンドを入力でき、これらのコマンドはサーバー コンソールに直接入力されたかのようにサーバー上で実行されます。サーバーはローカルで制御できます。
デフォルトのポート: 21
攻撃方法:
爆破
匂いを嗅ぐ
2.5.6 Windows リモート接続
デフォルトのポート: 3389
攻撃方法
爆破
シフト スティッキー キー バックドア: 5 回のシフト バックドア
ms12-020 を使用してポート 3389 を攻撃する
2.5.7 VNCサービス
VNC(Virtual Network Computing)は、RFBプロトコルを利用した表示画面共有・遠隔操作ソフトウェアです。このソフトウェアは、キーボードとマウスの操作とリアルタイムの表示画面イメージをネットワーク経由で送信できます。
デフォルトのポート: 5900 + デスクトップ ID (5901; 5902)
攻撃方法:
ブラスト: 弱いパスワード
認証パスワードのバイパス:
サービス拒否攻撃: (CVE-2015-5239)
権限昇格: (CVE-2013-6886)
2.5.8 SMTPプロトコル
smtp: メール プロトコル。Linux ではこのサービスがデフォルトで有効になっており、相手にフィッシングメールを送信できます。
デフォルトのポート: 25 (smtp)、465 (smtps)
攻撃方法:
ブラスト: 弱いパスワード
不正アクセス
2.5.9 POP3プロトコル
デフォルトのポート: 109 (POP2)、110 (POP3)、995 (POP3S)
攻撃方法:
ブルートフォース; 弱いパスワード
不正アクセス;
2.5.10 DNSサービス
デフォルトのポート: 53
攻撃方法:
ゾーン転送の脆弱性
2.5.11 IMAPプロトコル
デフォルトのポート: 143 (imap)、993 (imaps)
攻撃方法:
ブラスト: 弱いパスワード
不適切な構成
2.5.12 SNMPプロトコル
デフォルトのポート: 161
攻撃方法:
ブラスト: 弱いパスワード
2.5.13 DHCP サービス
デフォルトのポート: 67&68、546 (デュアルシステムホットバックアップ用の DHCP フェイルオーバー)
攻撃方法:
DHCP ハイジャック。
2.6 クラウド環境
2.6.1 ヴイエムウェア
VMware vCloud を使用して、既存のデータセンター内に仮想インフラストラクチャ リソースをプールし、カタログベースのサービスとして提供します。VMware vCloud Director をクラウド コンピューティング インフラストラクチャに最適なプラットフォームである VMware vSphere と組み合わせて使用すると、顧客は安全なプライベート クラウドを構築できるようになり、IT 部門がインフラストラクチャ サービスを提供および管理する方法と、ユーザーがインフラストラクチャ サービスにアクセスして利用する方法が変わります。一般的な組織では、Esxi などのプライベート クラウドが個別に導入されているか、仮想化システムが個別に導入されていることが多いです。
ポート (多数):
抜け穴
ホストエスケープ
CVE-2017-5638
参考:
2.6.2 オープンスタック
OpenStack は、誰でも自分でクラウド コンピューティング サービスを作成および提供できるようにするサービスとしてのインフラストラクチャ (IaaS) ソフトウェアです。さらに、OpenStack はファイアウォール内に「プライベート クラウド」(プライベート クラウド)を作成するためにも使用され、組織や企業内のさまざまな部門が共有するリソースを提供します。
脆弱性、抜け穴はありますが、POC には基本的にありません。安全な構成方法を確認してください。
権限バイパスの脆弱性
情報漏洩
コード実行の脆弱性
参考:
2.6.3 ドッカー
Docker は、ソフトウェア コンテナでのアプリケーションの展開を自動化するオープン ソース ソフトウェア プロジェクトであり、これにより、追加のソフトウェア抽象化レイヤーと、Linux オペレーティング システム上のオペレーティング システム レイヤー仮想化のための自動管理メカニズムを提供します [1]。Docker は、cgroup などの Linux カーネルのリソース分離メカニズムと Linux カーネル名前空間 (ネームスペース) を使用して、独立したソフトウェア コンテナー (コンテナー) を作成します。これは単一の Linux エンティティで動作し、仮想マシンの起動のオーバーヘッドを回避します。Linux カーネルの名前空間サポートは、プロセス ツリー、ネットワーク、ユーザー ID、マウントされたファイル システムなど、作業環境内のアプリケーションのビジョンを完全に分離します。一方、コア cgroup は、CPU、メモリ、ブロック I/O、ネットワークなどのリソースを分離します。 。バージョン 0.9 以降、Docker には、libvirt の LXC および systemd-nspawn によって提供される抽象仮想化インターフェイスの使用に基づいて、Linux カーネルによって提供される仮想化機能を直接使用し始める方法として、libcontainer 関数ライブラリが組み込まれ始めました。
セキュリティの問題 (脆弱性がほとんどない poc、セキュリティ チェックもベスト プラクティスと公式のセキュリティ推奨事項に基づいています):
CVE-2015-3630 1.6.0 Docker Libcontainer のセキュリティ バイパスの脆弱性
CVE-2015-3627 1.6.1 Libcontainer および Docker エンジンの権限とアクセス制御の脆弱性
CVE-2015-3630 1.6.1 Docker エンジンのセキュリティ バイパスの脆弱性
CVE-2014-9358 1.3.3 Docker ディレクトリ トラバーサルの脆弱性
CVE-2014-9357 1.3.2 Docker 権限とアクセス制御の脆弱性
CVE-2014-6408 1.3.1 Docker 権限とアクセス制御の脆弱性
CVE-2014-5277 1.3.0 Docker および docker-py コード インジェクションの脆弱性
カーネルのエクスプロイト コンテナはカーネルベースの仮想化であり、ホスト (ホスト) とホスト上のすべてのコンテナはカーネルのセットを共有します。コンテナーの操作によってカーネル クラッシュが発生した場合、マシン全体のコンテナーが順番に影響を受けます。
サービス拒否攻撃 (Denial-of-service攻撃) すべてのコンテナがカーネルリソースを共有するため、あるコンテナが特定のリソース(メモリ、CPU、各種ID)を独占すると、他のコンテナがリソース不足により動作しなくなる可能性があります。 (DoS 攻撃の形成)。
コンテナ ブレークアウト (コンテナ ブレークアウト) Linux の名前空間メカニズムはコンテナのコアの 1 つであり、コンテナ内では PID=1 のプロセスを許可しますが、コンテナ外のプロセス番号は異なります (1234 など)。ここでの問題は、PID=1 のプロセスが名前空間の制限を突破すると、ホスト上で root 権限を取得してしまうことです。
ポイズニングされたイメージ (Poisoned image) は主にイメージ自体のセキュリティを考慮しており、言うことはあまりありません。
参考:
2.7 ビッグデータ
2.7.1 エルサティックサーチ
Elasticsearch は、全文検索、構造化検索および分析に使用でき、これら 3 つを組み合わせることができる分散型検索および分析エンジンです。Elasticsearch は Lucene に基づいて開発され、現在最も広く使用されているオープン ソース検索エンジンの 1 つであり、Wikipedia、Stack Overflow、GitHub などは Elasticsearch に基づいて検索エンジンを構築しています。
デフォルトのポート: 9200()、9300()
攻撃方法:
不正アクセス;
リモートコマンドの実行。
ファイルトラバーサル。
低バージョンの WebShell の埋め込み。
参考
2.7.2 ハドゥープ
Hadoop は、大規模なデータを処理する分散アプリケーションを作成および実行できるオープン ソース フレームワークです。オフラインおよび大規模なデータ分析用に設計されています。複数のレコードのランダムな読み取りおよび書き込みのオンライン トランザクション処理モードには適していません。 。Hadoop=HDFS (ファイル システム、データ ストレージ テクノロジに関連) + Mapreduce (データ処理)、Hadoop のデータ ソースは任意の形式にすることができ、半構造化データおよび非構造化データの処理においてリレーショナル データベースと比較して優れたパフォーマンスを発揮します。より柔軟な処理機能により、データ形式に関係なく、最終的にキー/値に変換されます。キー/値は基本的なデータ単位です。SQL ではなく Mapreduce に変更するには、関数型スタイルを使用します。SQL はクエリ ステートメントですが、Mapreduce はスクリプトとコードを使用します。リレーショナル データベースの場合、SQL に使用されている Hadoop をオープン ソース ツール ハイブに置き換えることができます。Hadoop は分散コンピューティング ソリューションです。
参考:
2.7.3 ハイブ
Hive は、Hadoop ファミリのデータ ウェアハウス製品であり、最大の特徴は、SQL に似た構文を提供し、基盤となる MapReduce プロセスをカプセル化することで、SQL 基盤を備えたビジネス担当者も Hadoop を直接使用してビッグ データを操作できることです。
参考:
2.7.4 スクープ
Apache Sqoop (SQL-to-Hadoop) プロジェクトは、RDBMS と Hadoop の効率的なビッグ データ交換を支援することを目的としています。Sqoop を利用すると、ユーザーはリレーショナル データベース データを Hadoop および関連システム (HBase や Hive など) に簡単にインポートできると同時に、Hadoop システムからデータを抽出してリレーショナル データベースにエクスポートすることもできます。これらの主な機能に加えて、Sqoop はデータベース テーブルの表示などのいくつかの実用的なツールも提供します。
参考
2.7.5 HBase
HDFS に基づいた HBase は、高信頼性、高性能、列ストレージ、スケーラビリティ、およびリアルタイムの読み取りおよび書き込みを備えたデータベース システムを提供します。NoSQL と RDBMS の中間に位置し、行キーと行キー シーケンスを通じてのみデータを取得でき、単一行トランザクションのみをサポートします (複数テーブルのユニオンなどの複雑な操作は Hive サポートによって実現できます)。これは主に、非構造化および半構造化された緩いデータを保存するために使用されます。Hadoop と同様に、HBase の目標は主に、安価な汎用サーバーを継続的に追加することでコンピューティング機能とストレージ機能を向上させる水平拡張に依存しています。
参考:
2.7.6 スパーク
Spark は、UC Berkeley AMP lab によってオープンソース化されている Hadoop MapReduce に似た汎用並列コンピューティング フレームワークです。Spark はマップ リデュース アルゴリズムに基づいて分散コンピューティングを実装しており、Hadoop MapReduce の利点を備えていますが、中間出力が異なるという点で MapReduce とは異なります。ジョブの結果はメモリに保存できるため、HDFS への読み取りと書き込みの必要がなくなります。参照する:
3. 権限昇格の維持
3.1 権利のエスカレーション
SecWiki は次のように要約しています。
3.2 バックドア/ポート転送の確立
参考:
ポートフォワーディングとプロキシツール
LCX: Windows 上のポート転送ソフトウェア。
Sockscap: 主に Windows プラットフォームでのポート転送とプロキシ転送用。
プロキシファイア: Windows、Linux、Macos プラットフォームに適したクロスプラットフォームのポート転送およびプロキシ ツール、プロキシ転送ツール
Rsscoks: *nix プラットフォームのポート転送およびプロキシ ツール。プロキシチェーンで非常に簡単に使用できます。
プロキシチェーン: *nix プラットフォームの昔ながらのソックス プロキシ ツール。一般的なシステムにはこれが付属しており、使用する人は誰でもそれを知っています。
ssh プロキシ: ssh を介したポート プロキシと転送。通常は *nix システムに含まれます。
netcat: socat、hping は、多くの場合、ポート転送とデータ プロキシ転送を実行できます。
Metasploit: Metasploit の侵入後モジュールには、多くのプロキシ モジュールとポート転送モジュールがあります。
ポート転送ツール (暗号化および圧縮) をトランジット サーバーにダウンロードします。
インターネットに接続してダウンロードできる
mstsc経由のディスクロード
エントリーサーバー経由
リモコンソフト経由でアップロード
3.3 ファイルの転送
3.3.1 ファイルのパッケージ化
梱包について
rar ファイル パッケージ。2013 年 1 月 1 日以降に変更されたすべての doc ファイルを d:\data\ ディレクトリに圧縮します。100M/パッケージのパスワードは Pass、-x は除外オプションです。
rar.exe a–r –v100m new.rar –ta20130101000000 –hpPass –n*.doc –x*.exe d:\data\
7z 暗号化、d:\data 下のすべてのファイルを圧縮、パスワードは Pass、サブボリューム 100M/パッケージ
7z.exe a c:\xx.7z -pPass -mhe d:\data -v100m
Linux では、tar を使用してパッケージ ファイルにパスワードを追加できますが、これは openssl と組み合わせて使用する必要があります。
tar -zcvf - pma|openssl des3 -salt -k password | dd of=pma.des3
tar を使用して暗号化されたファイルを抽出します。
dd if=pma.des3 |openssl des3 -d -k password|tar zxf -
### 3.4.2 ファイル転送に関するいくつかのアイデア
ポート転送を使用してデータを直接送信します。
FTP および HTTP プロトコルを構築します。
クラウドにアップロードしてからダウンロードします。
3.4 バックドア/トロイの木馬プログラムの作成
通常は Matisploit の msfvenom を使用します。参照を使用します。
SET はバックドア プログラムを生成することもでき、最新の Office や PDF の脆弱性にも注意できます
4. ログのクリーニング
ログのクリーニングを行う前に、次のことを理解しておく必要があります。
攻撃や侵入の痕跡を完全に削除することは難しく、ログ記録が残らないこと自体が侵入の特徴です。
侵入システムのローカル ログを削除または消去しても、トレースが削除されるわけではなく、記録はネットワーク デバイス、セキュリティ デバイス、および集中ログ システムにまだ残ります。
保持されるバックドア自体には、攻撃者に関する情報が含まれます。
使用されるプロキシまたはスプリングボードはリバースハッキングされる可能性があります。
操作前に管理者ログインがあるかどうかを確認してください。
アップロードされたツールを削除し、ディスク上書き機能を使用して削除します。
Windows ログの種類
Web ログ: IIS、Apache、およびその他の Web ログ
操作ログ:3389ログインリスト、最近アクセスしたファイル、IEなどのブラウザアクセスログ、ファイルアクセスログ
ログインログ:システムアプリケーションログ、セキュリティログなど
攻撃を受けて状態が復元される前に、一貫性を保つようにしてください。
Linuxの動作ログ
Linux履歴操作
unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null;
SSHD ログイン レコードは ~/.ssh/known_hosts 内のレコードを削除します
ファイルのタイムスタンプを変更します touch –r 元のファイルを変更する必要があります
一時使用ファイル、特に tmp ディレクトリを削除します。
丸太蒸し器
5 工具等
イントラネットに侵入するためのツールの使用に関するいくつかの原則
道具はたくさん揃える必要はなく、自分に合ったものを使いましょう。
実際の状況に応じて適用可能なツールを作成できる。
安全性を確保できないツールは、仮想マシンで実行する必要があります (多くのツールにはウイルスやトロイの木馬がバンドルされています)。
セキュリティチェックには、GitHub 上のオープンソース ツールを使用してみてください。
ツールの紹介 私は kali 独自のツールの使用に慣れており、最初に Github から特定の POC を検索します。ツール紹介の推奨サイト: https: //www.kitploit.com/
侵入に関する考慮事項
イントラネットの監視および防止システムを確認する
ARP ソフトウェアおよび広域スキャン ソフトウェアの使用には注意が必要です
ターゲットネットワーク内のアイドル状態のマシンをパッケージングオブジェクトとして使用しない
wsusサーバーやビデオ会議システムなど、イントラネットの高トラフィックマシンを送信対象として使用する
パッケージングとデータ送信には一時的なマシンを使用し、制御されたマシンは使用せず、予防策を浸透させるために wmi スクリプトまたは wmic リモート操作を使用します。
psexec.exeを無効にする
梱包時にユーザーの作業時間を回避する
コントロールボリュームのサイズ<100M
ユーザーがよく使用する圧縮ソフトウェアを選択する
オフピーク時のダウンロードデータ
トラフィックフローを制御する
操作ログをすべてクリアする
ホストにログインする前に、管理者が権限を持っているかどうかを確認してください。