记一次打HTB靶机过程

  • A+
所属分类:安全文章

记一次打HTB靶机过程

Bank-10.10.10.29

Author:Beauty

致力于开新坑

涉及知识

DNS域传送

Linux文件权限与属性之 SUID

1.信息收集

nmap常规跑

nmap -sC -sV 10.10.10.29
22端口:openSSH Ubuntu
53端口:53端口为DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析,DNS服务在NT系统中使用的最为广泛。通过DNS服务器可以实现域名与IP地址之间的转换,只要记住域名就可以快速访问网站。
端口漏洞:如果开放DNS服务,可以通过分析DNS服务器而直接获取Web服务器等主机的IP地址,再利用53端口突破某些不稳定的防火墙,从而实施攻击。
80端口:Apache/2.4.7


记一次打HTB靶机过程


访问80端口------Apache默认页面


记一次打HTB靶机过程


dirbuster 跑目录,没发现什么。

2.开始

考虑从53 端口入手。dns作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。

使用dig或者nslookup命令。 使用nslookup命令

nslookup
SERVER 10.10.10.29
bank.htb


记一次打HTB靶机过程


其中 bank.htb 为常识,师父:一般靶机叫什么名,网站就叫什么名。佩服.jpg

检测到bank.htb 确实存在。

使用dig命令 刚开始使用dig命令时,不知道bank.htb,所以未成功

纠正后

dig axfr bank.htb @10.10.10.29

可以清楚的看到整个域下的域名解析信息,从而将整个域暴漏无遗


记一次打HTB靶机过程


修改resolv.conf 该文件是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名


记一次打HTB靶机过程


nameserver表示解析域名时使用该地址指定的主机为域名服务器。

最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器


记一次打HTB靶机过程


修改后可通过ping域名来检测是否修改成功


记一次打HTB靶机过程


修改成功。

浏览器访问

发现登录页面,尝试弱口令失败。

由于修改了DNS配置文件,所访问的域也就不同。

再次进行目录扫描

dirsearch工具


记一次打HTB靶机过程


字典不够强大~

发现最近扫目录,别的老板都可以扫出自己想要的东西,而我不能。o(╥﹏╥)o

突然发现自己的kali有点迷,在resolv.conf里添加nameserver的时候,必须要将10.10.10.29添加在最上面一行,他才会解析。

balance-transfer目录发现许多acc文件。找到最突出的那个。257(师出反常必有妖)


记一次打HTB靶机过程


发现账户以及密码


记一次打HTB靶机过程


--ERR ENCRYPT FAILED
+=================+
| HTB Bank Report |
+=================+

===UserAccount===
Full Name: Christos Christopoulos
Email: [email][email protected][/email]
Password: !##HTBB4nkP4ssw0rd!##
CreditCards: 5
Transactions: 39
Balance: 8842803 .
===UserAccount===

用这个账户登录进去发现有上传文件的地方

support.php


记一次打HTB靶机过程


习惯性地查看前端代码,发现一句注释,大概意思就是,会把后缀为.htb的文件当php解析。有点傻


记一次打HTB靶机过程


上传冰蝎php脚本,burp抓包,修改后缀,repeater发现上传成功。


记一次打HTB靶机过程



记一次打HTB靶机过程


点击上传的文件,用冰蝎连接对应路径,出现phpinfo,成功。


记一次打HTB靶机过程


whoami后,不出意外的果然是普通权限

开始漫漫提权路。

3.提权

冰蝎“给我连”结合 msf paload 进行监听


记一次打HTB靶机过程


到home 目录下,htb的user flag 一般都在home目录下。


记一次打HTB靶机过程


user.txt user flag具体是啥就不透露了 

接下来要找到root.flag,尝试进一下root目录,被拒绝。

准备先在本机搭建一个小型服务器,以传输提权脚本


记一次打HTB靶机过程


shell进入目标机,获取本机的提权建议脚本

其中要注意获取文件的路径

这里我是直接在提权脚本所在文件处搭建的小型服务器

所以wget的时候就难得再加路径了,简单点


记一次打HTB靶机过程



记一次打HTB靶机过程


提权脚本给出了很多提权建议,其中还包括脏牛提权脚本,图中没列出来


记一次打HTB靶机过程


先试一试“eBPF_verifier“

下载它

我是在本机下载的,所以再把目标机上使用相同的方式获取该脚本-----45010.c


记一次打HTB靶机过程


.c文件可以使用gcc命令进行编译。但是在这台目标机上,该提权脚本失败了。还是换回脏牛。

upset,o(╥﹏╥)o 这台机器所给的权限都很低。找不到能执行文件的有效目录。很难受

转战LinEnum,使用LinEnum.sh

同样的方法传到目标机上,运行后,会发现该脚本给出了目标机很多信息

LinEnum列出了一串SUID files


记一次打HTB靶机过程


SetUID(或者 s 权限):当一个具有执行权限的文件设置SetUID权限后,用户执行这个文件时将以文件所有者的身份执行。

在此“文件所有者”的第三位是s权限

进入到 /var/htb/bin 里面

执行emergency文件时,其他用户可以获取所有者身份,只是有时间限制。

然后cd /root 

找到root.txt get flag!


记一次打HTB靶机过程



记一次打HTB靶机过程


4.总结

Linux 文件权限

借鉴 https://www.cnblogs.com/Jimmy1988/p/7260215.html 的博客。学习学习

交互式shell

在目标主机里,很多键和命令都不好使用 用以下命令。使目标主机有交互式shell

$ which python
/usr/bin/python
$ python -c 'import pty;pty.spawn("/bin/bash")'
$ ctrl + z
$ stty raw -echo && fg
$ export TERM=screen


投稿文章:记一次打HTB靶机过程

本文始发于微信公众号(T00ls):投稿文章:记一次打HTB靶机过程

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: