投稿文章:记一次打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: