㈠ php探針怎麼測試伺服器isapi版本
png,jpeg,zlib,freetype,freeTDS,awstats)安裝與配置
作者:swingcoder(at)msn(dot)com
日期:2004-3-25
一、前言
安裝的問題很多人都第一次要面對的,既簡單又麻煩。很多老鳥都對如何安裝的問題不屑,說:問來問去都是安裝的問題。
希望這的貼子對新手能有點幫助,老鳥的話,就不用看了,免得拍磚。謝謝~~
本文所有軟體均使用最新版(至發布日期),但是又有人說了,什麼版本不穩定啦,這不好那不好啦。Cut!就此打住,我也不想為這些問題糾纏不清了,此文僅僅是安裝。先讓大家用起來,具體的優化安全以後再說,應了一句話「先讓一部分人先富起來!「。
雖然仍然是重復勞動,但至少是自己的經驗,不想丟了,寫完後自己以後也可以看看,順便整理整理。
二、目的
安裝Apahe與MySQL,將php安裝成支持gif,png,jpeg,freetype,mssql,mysql,需要更強大的圖形處理能力,可安裝ImageMagic。可以分析大流量網站日誌(更大流量的網站推薦用Webalizer,不過界面簡陋:-,)。
二、安裝環境描述
操作系統:GNU linux kernel 2.4.20
web伺服器:Apache httpd-2.0.48 下載:
資料庫伺服器:mysql-standard-4.0.17-pc-linux-i686 下載:
腳本程序語言:PHP Version 4.3.5RC5-dev 下載:
其它庫文件:
ZLIB:zlib-1.2.1.tar.gz 下載:
FreeType:freetype-2.1.5.tar.gz 下載:
PNG:libpng-1.2.5.tar.gz 下載:
JPEG:jpegsrc.v6b.tar.gz 下載:
GD:gd-2.0.18.tar.gz 下載: #2.0不支持GIF?好像限制又過期了
FreeTDS:freetds-stable.tgz 下載:
Cronolog:cronolog-1.6.2.tar.gz 下載:
Awstats:awstats-5.9.tgz 下載:
三、安裝步驟
1、安裝Apache
tar xzvf httpd-2.0.48.tar.gz
cd httpd-2.0.48
./configure --prefix=/usr/local/apache --enable-so
make
make install
echo "/usr/local/apache/bin/apachectl start&" >> /etc/rc.d/rc.local
#啟動
/usr/local/apache/bin/apache start
2、安裝MySQL
tar xzvf mysql-standard-4.0.17-pc-linux-i686.tar.gz
#此處下載的的二進制分發包,故沒有./configure步驟
mv mysql-standard-4.0.17-pc-linux-i686 /usr/local/mysql
cd /usr/local/mysql
#下步cp要看伺服器硬體環境,可選small,medium,large,huge
cp support-files/my-medium.cnf /etc/my.cnf
echo "/usr/local/mysql/bin/safe_mysqld --user=mysql&" >> /etc/rc.d/rc.local
groupadd mysql
useradd -g mysql mysql
./scripts/mysql_install_db
chown -R mysql.mysql data
#啟動
/usr/local/mysql/bin/safe_mysqld --user=mysql&
3、安裝PHP
A、先安裝支持包(注意安裝順序)
建立初始目錄:
#php目錄
mkdir /usr/local/php
mkdir /usr/local/php/moles
#freetype目錄
mkdir /usr/local/php/moles/freetype
#jpeg目錄
mkdir /usr/local/php/moles/jpeg6
mkdir /usr/local/php/moles/jpeg6/bin
mkdir /usr/local/php/moles/jpeg6/lib
mkdir /usr/local/php/moles/jpeg6/include
mkdir /usr/local/php/moles/jpeg6/man
mkdir /usr/local/php/moles/jpeg6/man/man1
#gd目錄
mkdir /usr/local/php/moles/gd
#freeTDS目錄
mkdir /usr/local/php/moles/freetds
A1、安裝zlib
tar xzvf zlib-1.2.1.tar.gz
cd zlib-1.2.1
#不要用--prefix自定義安裝目錄,影響gd的安裝
./configure
make
make install
A2、安裝freetype
tar xzvf freetype-2.1.5.tar.gz
cd freetype-2.1.5
./configure --prefix=/usr/local/php/moles/freetype
make
make install
A3、安裝libpng
tar xzvf libpng-1.2.5.tar.gz
#不要用--prefix自定義安裝目錄,影響gd的安裝
cd libpng-1.2.5
cp scripts/makefile.std makefile
make test
make install
A3、安裝jpeg
tar xzvf jpegsrc.v6b.tar.gz
./configure --prefix=/usr/local/php/moles/jpeg6 --enable-shared --enable-static
make
make install
A4、安裝GD
tar xzvf gd-2.0.18.tar.gz
./configure --prefix=/usr/local/php/moles/gd --with-jpeg=/usr/local/php/moles/jpeg6 --with-png --with-zlib --with-freetype=/usr/local/php/moles/freetype
make
make install
A5、安裝FreeTDS
tar zxvf freetds-stable.tgz
cd freetds-stable
./configure --prefix=/usr/local/php/moles/freetds
make
make install
B、安裝Cronolog
tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make
make install
C、安裝PHP
tar xzvf php4-STABLE-latest.tar.tar
cd php4-STABLE-latest
./configure --prefix=/usr/local/php --with-jpeg=/usr/local/php/moles/jpeg6 --with-zlib --with-png --with-gd=/usr/local/php/moles/gd --with-freetype=/usr/local/php/moles/freetype --with-mssql=/usr/local/php/moles/freetds --enable-magic-quotes --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql
make
make install
四、一些特別的配置
1、配置Apache
修改httpd.conf文件:
#增加處理性能
MaxClient 250
StartServers 10
#設置PHP
LoadMole php4_mole libexec/libphp4.so
#AddMole mod_php4.c
AddType application/x-httpd-php .php
#This directive configures what you return as the Server HTTP response Header
ServerTokens Minor
#Optionally add a line containing the server version and virtual host name to server-generated pages
ServerSignature Off
#設置日誌存儲格式
CustomLog "|/usr/local/sbin/cronolog /usr/local/apache/logs/access_%y%m%d.log" combined
2、配置Awstat
#!!此程序需要perl的支持!!
tar xzvf awstats-5.9.tgz
mkdir /usr/local/apache/cgi-bin/webstat/
mkdir /usr/local/apache/weblog/
cd awstat/www/
cp icon/* /usr/local/apache/icons/
cp cgi-bin/ /usr/local/apache/cgi-bin/webstat/
cd /usr/local/apache/cgi-bin/webstat/
cp awstat.model.conf awstat.
#修改awstat.中下...?用默認值:
vi awstat.
LogFile="/usr/local/apache/logs/access_%YY%MM%DD.log"
SiteDomain=""
DirData="/usr/local/apache/weblog/"
DirIcons="/icons"
#修改awstats.pl為0777
chmod 0777 awstats.pl
#設置計劃任務
crontab -e
55 23 * * * (/usr/local/apache/cgi-bin/webstat/awstats.pl -update -config=>/dev/null)
3、配置MySQL
修改root用戶密碼
/usr/local/mysql/bin/mysqladmin -u root password 'your-new-password'
刪除host為%和密碼為空的用戶
調整性能:
max_connections=250 #default is 100 #影響pconnect數量
table_cache=128 #default 64,調整值根據實際情況而定,一般如果Open_tables 達到table_cache值,且Opened_tables仍在快速增長,要增大該值。
key_buffer_size= #根據實際情況而定,一般Key_reads : Key_read_requests小於1:1000
4、配置PHP
默認安裝的PEAR有,如果用不上的話可以刪除:
[PEAR] DB - installed: 1.6.0
[PEAR] HTTP - installed: 1.2.2
[PEAR] Mail - installed: 1.1.2
[PEAR] Net_SMTP - installed: 1.2.3
[PEAR] Net_Socket - installed: 1.0.1
[PEAR] XML_Parser - installed: 1.0.1
[PEAR] XML_RPC - installed: 1.0.4
更多信息請參考:
五、常見問題
1、安裝PHP
a、checking lex output file root... ./configure: line 2425: lex: command not found
configure: error: cannot find output from lex; giving up
缺少flex-2.5.4a-29.i386.rpm,從linux 9.0光碟中找到flex-2.5.4a-29.i386.rpm,安裝,重新編譯php,ok.
b、ext/gd/gd.lo(.text+0x875): undefined reference to `gdFreeFontCache'
*** Error code 1
php.net官方人士說是安裝了不同版本的GD或者推薦安裝低版本的php,但我是安裝了高於php-4.3.4.tar.gz後解決了此問題。
參考:
2、安裝jpeg
一定要選擇./configure --enable-shared --enables-static --prefix=/usr/local方式安裝,否則不能make install !!!
若沒有裝libtool-1.4.3-5.i386.rpm,不能創建共享libjpeg庫,即不是能--enable-shared指令編譯。
裝libtool之前要裝m4-1.4.1-13.i386.rpm,automake,autoconf及
若您下載的包為zip格式jpegsr6.zip時,./configure 時出現: bad interpreter:,原因是dos換行跟unix換行符不同造成的,在editplus在轉換格式後,jpeg-6a安裝成功
3、安裝libpng
安裝之前要先安裝zlib, 且不有自定義目錄,否則裝gd時找不到庫文件。
4、安裝MySQL
此文中因為安裝的是二進制分發包,幫沒有configure,如果是源碼包,依照如下格式安裝。
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> tar xzvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> scripts/mysql_install_db
shell> chown -R root /usr/local/mysql
shell> chown -R mysql /usr/local/mysql/data
shell> chgrp -R mysql /usr/local/mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
五、參考資源
1、apache
2、mysql
3、php
4、GD
5、FreeTDS
6、Cronolog
7、Awstats
8、Webalizer
六、總結
上述僅僅是簡單的安裝跟一些簡單的配置,肯定存在不少漏洞,希望大家多多留心,任何程序和配置,最關鍵的在決定因素往往在於--「配置者」本身。希望對有需要的人有一定的幫助。
如果你不想裝apache可以略過apache安裝那部分
㈡ 內網滲透--對不出網目標的打法
配置網路
在VM虛擬機中按照下邊的網路拓撲進行配置網路。網路拓撲圖如下:
win7具有雙網卡,其中外網ip是192.168.8.133,內網網段是52。三台機器彼此互通,但是win server 2008和win2003不通外網。用我mac作為攻擊機,來對這個靶場環境進行滲透測試。
外網打點
在win7這台靶機上,使用PHPStudy讓網站可以運行起來。在攻擊機上,訪問 http://192.168.8.133 可以看到是一個phpStudy 探針。對這網站進行滲透,因為本文主要寫在內網滲透過程中對不出網主機的滲透,所以此處外網打點就不寫的很詳細了。
針對此靶場進行外網滲透拿許可權大致有這幾種方法:
通過phpmyadmin弱口令,進入phpmyadmin後台。然後知識點就變成了,通過phpmyadmin進行getshell,這個點又分為,得到網站絕對路徑後,使用select into outfile的方式寫shell和利用日誌寫shell。在此處,我是使用日誌寫shell的方法拿到許可權。因為secure_file_priv配置為null,禁止修改目錄下的文件,也就不能使用into outfile的方式寫入shell。
通過目錄掃描可以掃出beifen.rar,備份文件。在源碼中可以找到登陸後台的賬號密碼:admin/123456和登陸路徑/index.php?r=admin,在前台模板文件中添加一句話木馬連接也可獲取shell。
獲得webshell的信息收集
通過外網打點獲得的webshell,可以進行一波信息收集,摸清我是誰?我在哪?有沒有內網環境?有沒有殺軟?通過拿到webshell後的信息收集的結果來評估一下有沒有必要繼續深入或者初步了解繼續深入的話需要哪些手段。
我是誰?
蟻劍已經給出基礎信息
我在哪?
使用ipconfig /all 看一下網路信息
目標有兩個網卡,並且存在域環境,那麼就有打它內網的必要了。
有沒有殺軟?
tasklist查看一下進程信息
根據進程查一下是否有殺軟
目標沒有使用殺軟,還有域環境那麼讓它直接cs上線。
內網滲透
cs上線
內網信息收集
信息收集每個人都有自己的習慣,信息收集的順序和信息收集的項目也都不太一樣,只要根據自己的習慣和嗅覺,針對目標具體情況進行收集,以求盡快的拿下目標就好。信息收集的越全面突破口也就會越多,考慮到篇幅和文章內容匹配度等因素,此處並沒有寫出大量信息收集方法。
使用cs自帶的net view查看域信息。
使用cs自帶功能進行埠掃描,分別對8和52兩個網段進行掃描進行完這兩個步驟以後,cs會把掃到的目標列出來。
因為拿到的是管理員許可權,可以先抓一波密碼。用 cs 的 hashmp 讀內存密碼,用 mimikatz 讀注冊表密碼:logonpasswords。
此處打碼的地方是因為配置靶機登陸時靶機提示重置密碼,我給靶機改了個包含個人信息的密碼。蠢哭。拿到密碼後,目標主機沒有開啟防火牆,可以使用cs自帶的psexec做一波橫向,因為抓到很多域中機器密碼,域控密碼也抓到了。
內網橫向(通過登錄憑證)
這個靶機設置的比較簡單,抓到密碼後,因為抓到了域控登陸的憑證,那麼使用psexec即可橫向內網所有機器。因為,另外兩台內網的機器不出網,那麼就到了本文著重練習的點了,打不出網的機器。
不出網機器上線一般有以下幾種方式:
使用smb beacon
配置listener通過HTTP代理上線
使用pystinger搭建socks4代理
這幾種方式之前有師傅也在先知寫過 《不出網主機上線方法》 。此處我採用的SMB beacon這個方法。
SMB Beacon使用命名管道通過父級Beacon進行通訊,當兩個Beacons鏈接後,子Beacon從父Beacon獲取到任務並發送。因為鏈接的Beacons使用Windows命名管道進行通信,此流量封裝在SMB協議中,所以SMB beacon相對隱蔽。SMB beacon不能直接生成可用載荷, 只能使用 PsExec 或 Stageless Payload 上線。
首先得到內網中一台主機的beacon,抓取密碼後進行smb噴射,得到另一台開放445埠的機器上的administrator賬戶密碼,在目標機器不出網的情況下,可以使用Smb beacon使目標主機上線
使用條件
具有 SMB Beacon 的主機必須接受 445 埠上的連接。
只能鏈接由同一個 Cobalt Strike 實例管理的 Beacon。
利用這種beacon橫移必須有目標主機的管理員許可權或者說是擁有具有管理員許可權的憑據。
使用方法:
1.建立smb的listener
2.在cs中使用psexec進行橫向移動,選擇現有的beacon作為跳板,這里憑據必須是administrator ,即擁有目標主機管理員許可權
3.連接成功,可以看到smb beacon上線的主機右側有∞∞標識
使用這種方法上線的機器,主要是通過出網機作為一個中間人,不出網主機成功上線後,如果出網機一斷開,這個不出網主機也會斷。
內網橫向(通過ms-17010)
在拿下win7的時候,可以給它傳一個fscan,給win7做一個內網大保健。上傳fscan後,運行掃一下內網。
發現存在ms17010。
ms17010常見的幾種打法:
msf
ladon/ladon_ms17010
從msf分離出的exe
nessus里的exe
cs插件
這幾種打法,我在這個環境中都做過嘗試。過程就不一一敘述了,直接說我測試的結果。msf是最穩定的,但是打起來有稍許的麻煩因為要設置監聽模塊和選擇攻擊模塊等配置。ladon_ms17010方便但是不太穩有時候會打不成功。cs插件也不穩,並且在這種不出網網路不穩定的情況下成功率會變的更低。
這個圖片的ip可能跟上邊配置符不起來,因為我在測試過程中,網斷過幾次,ip就變了。所以,在打的時候,如果ladon和分離出的exe沒有打成,不要輕易放棄,用msf在打打試試,畢竟工具就是工具,不能過分依賴某個工具。
在這種不出網的情況下,可以優先考慮使用從msf分離出的exe和ladon_ms17010來打,打成功會直接通過自定義的dll新建一個用戶並加入管理員組,開啟3389埠。根據實際情況,可考慮在合適的時間段和條件下直接遠程登入,翻一下敏感數據,往往會因為運維人員的很多「好習慣」而給滲透帶來很多便利,比如說「密碼本.txt」。
msf打不出網機器的ms17010
msf在單兵作戰的時候還是很穩定很香的。首先,讓出網機器先在msf上線,可以用cs直接傳遞會話,或者生成個msf馬直接運行一下。在這的方法就很多了。win7在msf上線後,因為我們已經提前知道了,存在52這個不出網的段,那麼就需要在msf中添加路由。
查看路由
run get_local_subnets
添加路由
run autoroute -s 192.168.52.0/24
查看添加的路由
run autoroute -p
把shell切換到後台,然後使用ms17010模塊進行漏洞利用,監聽時使用正向監聽,即可
小貼士:
漏洞檢測方法:
use auxiliary/scanner/smb/smb_ms17_010
之後設置一下目標ip和線程即可,這里因為已經掃出存在漏洞的機器了,也就不在敘述。
漏洞利用常使用的是:
auxiliary/admin/smb/ms17_010_command
exploit/windows/smb/ms17_010_eternalblue
exploit/windows/smb/ms17_010_psexec
這里的第一個和第三個模塊需要目標開啟命名管道,並且比較穩定。第二個模塊只要存在漏洞即可,但是會有概率把目標打藍屏,而且殺軟攔截也會比較嚴格,如果有殺軟就基本可以放棄這個模塊了。
在打ms17010的時候,不妨使用auxiliary/admin/smb/ms17_010_command模塊探測一下是否可以使用命名管道。
use auxiliary/admin/smb/ms17_010_commandsetrhosts192.168.164.156192.168.164.161setcommandtasklistshow optionsrun
如果命令執行成功的話就可以優先考慮
auxiliary/admin/smb/ms17_010_commandexploit/windows/smb/ms17_010_psexec
這兩個模塊進行利用。
我在上邊打得時候因為目標機器沒有殺軟就直接使用exploit/windows/smb/ms17_010_eternalblue來打了,期間為了測試打過多次,確實出現了把目標機器打重啟的情況。
總結
這個靶場設計的技能點比較基礎,外網打點獲得shell後,直接可以通過cs上線,在管理員許可權下,抓取密碼,新建一個smb beacon然後使用psexec對內網兩台不出網的機器進行橫向。
㈢ 如何查看一個網站的伺服器端信息
在了解一個網站的伺服器端信息方面,我們首先要明確這是兩個不同的概念。一方面,伺服器信息包括伺服器的類型、運行的操作系統、支持的編程語言以及伺服器的IP地址、磁碟空間等基本信息。這些信息可以通過網路工具或者專門的探針軟體來獲取,比如PHP探針、ASP探針等,它們能夠幫助我們快速查看到伺服器的基本情況。
另一方面,網站採用的源碼語言則可以通過查看文件的後綴名來大致判斷。比如,如果你發現一個網站的文件後綴是.php,那麼很可能這個網站是使用PHP語言編寫的;如果後綴是.htm或者.html,那麼這個網站很可能是用HTML語言編寫的。其他類似的語言還有ASP、JSP、Python、Ruby等,每種語言都有其特定的文件後綴。
了解這些信息對於網站維護、安全檢查以及開發人員的工作都是非常重要的。通過這些工具和方法,我們可以更加深入地了解一個網站背後的運行機制,從而更好地進行維護和優化。
為了獲取更詳細的信息,你可以使用一些在線工具,如在線探針,它們能夠提供更為詳細的伺服器配置信息。此外,還可以通過查看網站源代碼直接查看其使用的編程語言和其他技術棧,這對於深入理解和分析一個網站的技術架構非常有幫助。
需要注意的是,獲取伺服器端信息時要遵守相關法律法規,確保自己的行為合法合規。在實際操作中,通常需要獲得網站所有者的授權才能進行詳細的信息查詢。