導航:首頁 > 源碼編譯 > SAM4演算法

SAM4演算法

發布時間:2023-05-27 22:10:45

A. 網路安全乾貨知識分享 - Kali Linux滲透測試 106 離線密碼破解

前言

最近整理了一些 奇安信&華為大佬 的課件資料+大廠面試課題,想要的可以私信自取, 無償贈送 給粉絲朋友~

1. 密碼破解簡介

1. 思路

目標系統實施了強安全措施

安裝了所有補丁

無任何已知漏洞

無應用層漏洞

攻擊面最小化

社會 工程學

獲取目標系統用戶身份

非授權用戶不受信,認證用戶可以訪問守信資源

已知用戶賬號許可權首先,需要提權

不會觸發系統報警

2. 身份認證方法

證明你是你聲稱你是的那個人

你知道什麼(賬號密碼、pin、passphrase)

你有什麼(令牌、token、key、證書、密寶、手機)

你是誰(指紋、視網膜、虹膜、掌紋、聲紋、面部識別)

以上方法結合使用

基於互聯網的身份驗證仍以賬號密碼為主要形式

3. 密碼破解方法

人工猜解

垃圾桶工具

被動信息收集

基於字典暴力破解(主流)

鍵盤空間字元爆破

字典

保存有用戶名和密碼的文本文件

/usr/share/wordlist

/usr/share/wfuzz/wordlist

/usr/share/seclists

4. 字典

1. 簡介

鍵盤空間字元爆破

全鍵盤空間字元

部分鍵盤空間字元(基於規則)

數字、小寫字母、大寫字元、符號、空格、瑞典字元、高位 ASCII 碼

2. crunch 創建密碼字典

無重復字元

crunch 1 1 -p 1234567890 | more

1

必須是最後一個參數

最大、最小字元長度失效,但必須存在

與 -s 參數不兼容(-s 指定起始字元串)

crunch 4 4 0123456789 -s 9990

讀取文件中每行內容作為基本字元生成字典

crunch 1 1 -q read.txt

1

字典組成規則

crunch 6 6 -t @,%%^^ | more

-t:按位進行生成密碼字典

@:小寫字母 lalpha

,:大寫字母 ualpha

%:數字 numeric

^:符號 symbols

輸出文件壓縮

root@kali:~# crunch 4 5 -p dog cat bird

1

-z:指定壓縮格式

其他壓縮格式:gzip、bzip2、lzma

7z壓縮比率最大

指定字元集

root@kali:~# crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha-numeric-all-space -o w.txt -t @d@@ -s cdab

1

隨機組合

root@kali:~# crunch 4 5 -p dog cat bird

1

crunch 5 5 abc DEF + !@# -t ,@^%,

在小寫字元中使用abc范圍,大寫字元使用 DEF 范圍,數字使用佔位符,符號使用!@#

佔位符

轉義符(空格、符號)

佔位符

root@kali:~# crunch 5 5 -t ddd%% -p dog cat bird

1

任何不同於 -p 參數指定的值都是佔位符

指定特例

root@kali:~# crunch 5 5 -d 2@ -t @@@%%

1

2@:不超過兩個連續相同字元

組合應用

crunch 2 4 0123456789 | aircrack-ng a.cap -e MyESSID -w -

crunch 10 10 12345 –stdout | airolib-ng testdb -import passwd -

3. CUPP 按個人信息生成其專屬的密碼字典

CUPP:Common User Password Profiler

git clone https://github.com/Mebus/cupp.git

python cupp.py -i

4. cewl 通過收集網站信息生成字典

cewl 1.1.1.1 -m 3 -d 3 -e -c -v -w a.txt

-m:最小單詞長度

-d:爬網深度

-e:收集包含email地址信息

-c:每個單詞出現次數

支持基本、摘要 身份認證

支持代理

5. 用戶密碼變型

基於 cewl 的結果進行密碼變型

末尾增加數字串

字母大小寫變化

字母與符號互相轉換

字母與數字互相轉換

P@$w0rd

6. 使用 John the Ripper 配置文件實現密碼動態變型

2. 在線密碼破解

1. hydra

簡介

密碼破解

Windows 密碼破解

Linux 密碼破解

其他服務密碼破解

圖形化界面

xhydra

HTTP表單身份認證

密碼破解效率

密碼復雜度(字典命中率)

帶寬、協議、伺服器性能、客戶端性能

鎖定閾值

單位時間最大登陸請求次數

Hydra 的缺點

穩定性差,程序時常崩潰

速度控制不好,容易觸發服務屏蔽或鎖死機制

每主機新建進程,每服務新建實例

大量目標破解時性能差

2. pw-inspector

Hydra 小工具 pw-inspector

按長度和字元集篩選字典

pw-inspector -i /usr/share/wordlists/nmap.lst -o p1.lst -l

pw-inspector -i /usr/share/wordlists/nmap.lst -o P2.lst -u

pw-inspector -i /usr/share/wordlists/nmap.lst -o P2.lst -u -m 3 -M 5

3. mesa

Mesa 的特點

穩定性好

速度控製得當

基於線程

支持模塊少於hydra(不支持RDP)

WEB-Form 支持存在缺陷

查看支持的模塊

參數

-n:非默認埠

-s:使用SSL連接

-T:並發主機數

mesa -M ftp -q

3. 離線密碼破解

1. 簡介

身份認證

禁止明文傳輸密碼

每次認證使用HASH演算法加密密碼傳輸(HASH演算法加密容易、解密困難)

伺服器端用戶資料庫應加鹽加密保存

破解思路

嗅探獲取密碼HASH

利用漏洞登陸伺服器並從用戶資料庫獲取密碼HASH

識別HASH類型

長度、字元集

利用離線破解工具碰撞密碼HASH

優勢

離線不會觸發密碼鎖定機制

不會產生大量登陸失敗日誌引起管理員注意

2. HASH 識別工具

1. hash-identifier

進行 hash 計算

結果:

進行 hash 識別

2. hashid

可能識別錯誤或無法識別

3. HASH 密碼獲取

1. sammp2

Windows HASH 獲取工具

利用漏洞:Pwmp、fgmp、 mimikatz、wce

物理接觸:sammp2

將待攻擊主機關機

使用 Kali ISO 在線啟動此主機

發現此 windows 機器安裝有兩塊硬碟

mount /dev/sda1 /mnt

將硬碟掛載

cd /mnt/Windows/System32/config

切換目錄

sammp2 SYSTEM SAM -o sam.hash

導出密碼

利用 nc 傳輸 HASH

HASH 值:

2. syskey 工具進行密碼加密

使用 syskey 進行加密(會對 SAM 資料庫進行加密)

重啟需要輸入密碼才能進一步登錄

使用 kali iso live

獲取到 hash 值

hashcat 很難破解

使用 bkhive 破解

使用 Bootkey 利用RC4演算法加密 SAM 資料庫

Bootkey 保存於 SYSTEM 文件中

bkhive

從 SYSTEM 文件中提取 bootkey

Kali 2.0 拋棄了 bkhive

編譯安裝 :http://http.us.debian.org/debian/pool/main/b/bkhive/

在windows的 kali live 模式下,運行

sammp2 SAM key (版本已更新,不再支持此功能)

建議使用 Kali 1.x

1. Hashcat

簡介

開源多線程密碼破解工具

支持80多種加密演算法破解

基於CPU的計算能力破解

六種模式 (-a 0)

0 Straight:字典破解

1 Combination:將字典中密碼進行組合(1 2 > 11 22 12 21)

2 Toggle case:嘗試字典中所有密碼的大小寫字母組合

3 Brute force:指定字元集(或全部字元集)所有組合

4 Permutation:字典中密碼的全部字元置換組合(12 21)

5 Table-lookup:程序為字典中所有密碼自動生成掩碼

命令

hashcat -b

hashcat -m 100 hash.txt pass.lst

hashcat -m 0 hash.txt -a 3 ?l?l?l?l?l?l?l?l?d?d

結果:hashcat.pot

hashcat -m 100 -a 3 hash -i –increment-min 6 –increment-max 8 ?l?l?l?l?l?l?l?l

掩碼動態生成字典

使用

生成文件

計算 hash 類型

結果 MD5

查看 MD5 代表的值

進行破解

2. oclhashcat

簡介

號稱世界上最快、唯一的基於GPGPU的密碼破解軟體

免費開源、支持多平台、支持分布式、150+hash演算法

硬體支持

虛擬機中無法使用

支持 CUDA 技術的Nvidia顯卡

支持 OpenCL 技術的AMD顯卡

安裝相應的驅動

限制

最大密碼長度 55 字元

使用Unicode的最大密碼長度 27 字元

關於版本

oclHashcat-plus、oclHashcat-lite 已經合並為 oclhashcat

命令

3. RainbowCrack

簡介

基於時間記憶權衡技術生成彩虹表

提前計算密碼的HASH值,通過比對HASH值破解密碼

計算HASH的速度很慢,修改版支持CUDA GPU

https://www.freerainbowtables.com/en/download/

彩虹表

密碼明文、HASH值、HASH演算法、字元集、明文長度范圍

KALI 中包含的 RainbowCrack 工具

rtgen:預計算,生成彩虹表,時的階段

rtsort:對 rtgen 生成的彩虹錶行排序

rcrack:查找彩虹表破解密碼

以上命令必須順序使用

rtgen

LanMan、NTLM、MD2、MD4、MD5、SHA1、SHA256、RIPEMD160

rtgen md5 loweralpha 1 5 0 10000 10000 0

計算彩虹表時間可能很長

下載彩虹表

http://www.freerainbowtables.com/en/tables/

http://rainbowtables.shmoo.com/

彩虹表排序

/usr/share/rainbowcrack

rtsort /md5_loweralpha#1-5_0_1000x1000_0.rt

密碼破解

r crack *.rt -h

rcrack *.rt -l hash.txt

4. John

簡介

基於 CPU

支持眾多服務應用的加密破解

支持某些對稱加密演算法破解

模式

Wordlist:基於規則的字典破解

Single crack:默認被首先執行,使用Login/GECOS信息嘗試破解

Incremental:所有或指定字元集的暴力破解

External:需要在主配配文件中用C語言子集編程

默認破解模式

Single、wordlist、incremental

主配置文件中指定默認wordlist

破解Linux系統賬號密碼


破解windows密碼

Johnny 圖形化界面的john

5. ophcrack

簡介

基於彩虹表的LM、NTLM密碼破解軟體

彩虹表:http://ophcrack.sourceforge.net/tables.php

B. 如何利用SAM找差異性表達基因

今天就先來聊聊如何看差異表達基因數據,火山圖,聚類圖又怎麼看。宏大滑1差異基因篩選方法那差異基因是如何篩選出來的呢?差異基因的篩選方法有很多,包括倍數法、T檢驗、F檢驗及SAM等。下面簡單介紹一下GCBI平台上用的倍數法和SAM法。倍數法適用於沒有生物學重復的樣本,其計算基因在兩個條件下表達水平的比值,確定比值的閾值,將絕對值大於此閾值的基因判斷為差異基因。SAM演算法適用於有生物學重復的樣本,通過對分母增加一個常量T檢驗過程減小了假陽性發生的概率。文獻中報道,相較於其他演算法,SAM演算法更為穩定,篩選出的結果也更為准確。2差異基因數據解讀經過合適的差異基因方法篩選出的差異基因,結果一般分為兩部分,數據+圖形。數據結果展示如下圖所示(兩分組)眾多參數中,重點看三個。p-value或q-value沒有做生物學重復請跳過這一步。p-value或q-value是統計學檢驗變數,代表差異顯著仿亂性,一般p-value或q-value小於0.05代表具有顯著性差異,但可根據具體情況適當調整。因為p-value或q-value衡量地是某個基因假陽性的概率,如果p-value或q-value越低,那麼挑選該基因出現假陽性的概率就越低,可驗證性就越高。兩者具體的計算方法具體如下:那p-value、q-value同時存在時看哪個呢?SAM法只有q-value。當兩者同時存在時,可根據具體情況具體分析。差異篩選是一個典型的多重假設檢驗過程,對於多重假設檢驗,單次檢驗中差異顯著基因的假陽性率(p-value較小)可能會較大,而q-value和FDR值較常見的BH校正方法得到的FDR值而言,改進了其對假陽性估計的保守性。即q-value相比於p-value更加嚴格,當差異基因結果較少時,可以退而求其次看p-value。FoldChangeFoldChange表示實驗組比上對照組的差異表達倍數,一般表達相差2倍以上是有意義的,放寬要求1.5倍或者1.2倍也可以接受。看錶達倍數的同時還需結合基因表達豐度,信號值太低的基因會在後續的驗證實驗中檢測不到。3差異基因圖表解讀在差異結果的圖形展示結果中,主要是火山圖和聚類圖。火山圖火山圖只針對兩分組且有生物學重復的情況。如何看火山圖呢?火山圖可反映總體基因的表達情況,橫坐標代表log2(FoldChange),縱坐標表示-log10(P值),每個點代表一個基因,顏色用以區分基因是否差異表達,圖中橙色的點代表差異表達基因,藍色的點代表沒有差異表達的基因。聚類圖聚類圖可以衡量樣本或基因之間表達的相似性。如上圖所示的聚類圖中,橫坐標代表樣本聚類,一列代表一個樣本,聚類基於樣本間基因表達的相似性,樣本間基因表達越接近,靠的越近,以此類推。縱坐標代表基因聚類,一行代表一個基因,聚類基於基因在樣本中表達的相似性,基因在樣本中表達越接近,靠的越近,以此類推。色階代表基因表達豐度,越紅代表上調得越明顯,越綠代表下調得越明顯。如何做聚類圖請戳往期推送做個聚類圖只需1分鍾差異基因有了,如何挑選潛在蔽臘基因進行實驗驗證呢?關鍵還在於感興趣點在哪了。粗略的看,可以先看KEGG或者GO功能分類,看差異基因具體富集在哪些通路或功能。比如關注的是細胞內脂肪酸合成關鍵酶,可以重點看脂肪酸合成和碳流相關通路。具體如何看KEGG或者GO功能分類,請聽下回分解。

C. SAM演算法理解

SAM演算法過程基於數據的噪音分析。一般的,信噪比會隨著信號的降低而減小。然而當人們針對每一個基因進行分析時,發現即使他們的信號在同一水平,每一個基因的表達噪音都不一樣。所以無法籠統地給出一個具體地線性方程來分析全部基因,必須一個一個基因單獨分析。假設有對照實驗I和U兩組局拆,I和U實驗各有平行實驗w組,對於某個指定的基因i,定義相對差異值 (relative difference(d(i)))為基因i在實驗組I和U當中的平均值之差除以I和U的總體標准誤差均值。因為當標准誤差均值過低時,會產生一個較高的d(i)值,所以總體的標准誤差均值增加了一個較正項。具體公式如下:

其中上劃線表示平均值 ,å m 和å n 表示實驗組I和U的基因i表達的樣本標准差,n1和n2表示實驗組I和U當中基因i參與統計的探針的個數。S0為較正談臘陸項,它可以由計算機自動給出,也可以由人手動指定。S0的取值標準是:將所有的d(i)值排序後100等分,每一等分先求得中位數絕對離差,然後計算這些中位數絕對離差值的變異系數。取s0分別等於100等分當中的s(i)的最小值,依次計算。最終s0的值就是在這些計算中,使變異系數最小的s0。

我們來比較一下它和t-test的異同:

[圖片上傳失敗...(image-92c592-1597045517277)]

比較之下,我們就會發現兩者十分的相同。左邊是兩組具有不同探針數和不同標准差的非平行實驗t-test計算公式,右邊就是具有不同探針數和不同標准差的非平行實驗的SAM公式,我們可以看到,它們的最終差別,只在那個s0附加項上。由此我們可以知道,實際上SAM就是t-test的一個具體應用。

在計算得到所有的d(i)值之後,重排樣含頃品計算d(i)期待值d E (i)。然後用期待值d E (i)對實測值d(i)做圖。如果期待值和實測值相同,那麼作圖點就應該落在斜率為1的直線上,如果不同,作圖點就落在其外。差別越大,距離該直線就越遠。給定一個D值(默認的話,可以設置為1.2),當期待值和實測值差別比D大時,就認為有顯著差異。這就是SAM演算法。

下面我們就來使用R來實踐一下SAM演算法。

<pre style="box-sizing: border-box; font-family: "Roboto Slab", Georgia, Times, serif; font-size: 1em; font-weight: 300; font-style: inherit; margin: -2px 0px 27px; padding: 0px; vertical-align: baseline; border: 0px; outline: 0px; line-height: 27px; overflow: auto; max-width: 100%; background: transparent; color: rgb(102, 102, 102);">##安裝SAM庫

--- Please select a CRAN mirror for use in this session ---

also installing the dependency 『impute』

trying URL ' http://software.rc.fas.harvard.e/mirrors/R/bin/windows/contrib/2.11/impute_1.24.0.zip'

Content type 'application/zip' length 1205991 bytes (1.2 Mb)

opened URL

downloaded 1.2 Mb

trying URL ' http://software.rc.fas.harvard.e/mirrors/R/bin/windows/contrib/2.11/samr_1.28.zip'

Content type 'application/zip' length 80418 bytes (78 Kb)

opened URL

downloaded 78 Kb

package 'impute' successfully unpacked and MD5 sums checked

package 'samr' successfully unpacked and MD5 sums checked

The downloaded packages are in

Loading required package: impute

Background correcting

Normalizing

Calculating Expression

</pre>

SAM分析。我們首先來了解一下samr函數。

我們注意到其參數resp.type有以下幾種類型:"quantitative" 定量反應,其中data參數當中的y必須是數值型數組; "Two class unpaired" 比較兩種不同條件下的結果,其中data參數當中的y必須是1或者2數組,即要麼值屬於其中一種條件,要麼屬於另外一種條件; "Survival" for censored survival outcome; "Multiclass" : 兩組以上實驗條件,其中data參數當中的y是自然數數組,指定實驗條件編號; "One class" 單組實驗,y是1的數組; "Two class paired" 比較兩種不同條件下的結果,並且實驗是成對進行的,其中data參數當中的y是-1,1,-2,2……-k,k這樣成對出現的數組; "Two class unpaired timecourse", "One class time course", "Two class.paired timecourse" or "Pattern discovery"與時間相關的比較,y值必須是kTimet這種形式,其中k是組編號,t是時間,Time就是字元Time,起始的時間點要為kTimetStart格式,結束的點要為kTimetEnd格式。

Table 1 Resp.type取值范圍

| Resp.type | 取值 |
| Quantitative | 實數,例:27.4 或者-45.34 |
| Two class (unpaired) | 整數1,2 |
| Multiclass | 整數1,2,3,…… |
| Paired | 整數-1,1,-2,2等等成對出現,通常認為負號代表未處理的對照組,正號代表實驗組;-1總是與1配對,-2與2配對直至-k與k |
| Survival data | (Time, status)這種成對的數字,比如(50,1),(120,0)。第一個數字代表時間,第二個數字代表狀態(1=死亡,0=存活) |
| One class | 整數1 |

在示例的數據中,實驗設計為estrogen存在與不存在,及作用10及48小時的比較。因為時間點過少,不足以形成timecourse,所以我們用多組來比較吧。

<pre style="box-sizing: border-box; font-family: "Roboto Slab", Georgia, Times, serif; font-size: 1em; font-weight: 300; font-style: inherit; margin: -2px 0px 27px; padding: 0px; vertical-align: baseline; border: 0px; outline: 0px; line-height: 27px; overflow: auto; max-width: 100%; background: transparent; color: rgb(102, 102, 102);">> gp=rep(1:4,each=2)

</pre>

SAM演算法因為其提供有 Microsoft Excel插件,所以使用非常廣泛,相反,其在R當中的應用卻顯得相對較少。有研究表明,SAM對FDR的控制並不是很好,這是它最主要的不足。

閱讀全文

與SAM4演算法相關的資料

熱點內容
搜索pdf內容 瀏覽:497
程序員裝機必備的軟體 瀏覽:9
php微信第三方登錄demo 瀏覽:536
上海php工具開發源碼交付 瀏覽:790
哪裡有求購黃頁的源碼 瀏覽:194
商城礦機源碼礦場系統 瀏覽:196
單片機的led燈熄滅程序 瀏覽:222
洛陽python培訓 瀏覽:702
小鍵盤命令 瀏覽:192
單片機c語言返回主程序 瀏覽:816
dockerpythonweb 瀏覽:970
程序員演算法有多強 瀏覽:717
pythonworkbook模塊 瀏覽:245
什麼app能查醫生 瀏覽:175
輕量級的編程語言 瀏覽:338
程序員那麼可愛生孩子 瀏覽:432
後綴him3加密文件是什麼軟體 瀏覽:986
堅果隱藏app為什麼要140版本才能用 瀏覽:313
淘寶dns伺服器地址 瀏覽:259
領英轉型app哪個好用 瀏覽:943