分类 渗透 下的文章

暑假第一个站

懒得截图,简单文字记录,最后没拿到shell,算一次失败的渗透。
暑假准备找套四级视频来看看,在一个论坛看到一套还不错的视频,但是注册还nm要买邀请码,然后就打算搞一搞。

信息收集

  • 架构: Linux + nginx + php5.3 + discuz x 3.2

  • 端口: 3306, 22, 80

  • CDN: cloudflare

既然有CDN,第一步自然就是找到真实IP,这样后面会方便许多。这里还是比较好找的,下面几处都泄露了真实IP:

  • 右键查看源码,网站静态文件泄露

  • 注册时,查看邮箱头

  • 查DNS历史解析记录

  • http://crimeflare.com

  • 利用DZ的SSRF
    成功找到了真实IP,继续收集信息。

fuzz一下目录,扫到了几个压缩包:

  • 1.rar

  • 666.zip

  • 888.rar
    ......

看来管理员挺喜欢用压缩包备份文件,于是用dirbbuster再fuzz一遍rar和zip,得到了大概10个左右压缩包,并且有phpmyadmin。
从中提取出一些有用的信息:

  • 几台ftp服务器和密码

  • 数据库连接账号和密码

  • uc_key

  • 一台3389及账号密码

似乎服务器已近在咫尺....

初步尝试

首先,我拿得到的ftp和3389登陆,发现没一个登陆得上,crying。可能是时间太长,密码已经更换。而且,他的密码不带重样的,也看不出来明显的规则。还好,phpmyadmin登陆进去了,但是不是root,也没有任何文件操作权限。dz的数据库,讲真作用不是很大,密码解不了。
我从数据库里提取的唯一有用的信息就是,网站有两个管理员:
创始人---admin
副站长---admin888
但是拿不到密码,我试了按网上的重置也不行,不清楚dz的加密算法到底是怎样的。
数据库这里就到此为止了。

寻求突破

第一步失败后,按优先级整理下思路:

  • 利用uc_key重置管理员密码,进后台尝试getshell

  • 利用SSRF探测内网端口

  • 整理字典,爆破22

  • 社工

从网上的资料来看,这个uc_key很有用。一说是可以直接getshell,二说是能重置任意密码。首先尝试了getshell,失败告终。重置密码动静较大,于是我挑了个天干物燥的夜晚,按照这个姿势重置了admin888的密码,先搞到了我要的那套视频hhhh
进去之后,首先查看了更新时间 Discuz! X3.2 Release 20150609
dz后台getshell主要有以下几种常见方式:

  • 缓存包含

  • 图片包含

  • 第三方插件

  • ImageMagick

  • 大牛的0day

我本地搭了个同样版本的dz,尝试了前三种方法,全部失败。利用imagemagic需要知道物理路径,划掉。
进了后台,搞了很久也没有拿到shell,又陷入了江局。这时想起来还有个SSRF,赶紧在后台看了下redis和memcache,尴尬的是,都关了。

社工

dz后台有一个插js的地方,于是我想利用它来劫持网页,利用社工传shell。大致的思路是:
劫持网页,显示网站出错需要修复,修复的方法就是传一个指定文件到目录。最后的效果是这样的:

1.png

这个错误页面是有来源的,有些时候安装插件就会遇到这个错误页面,只不过我把修复文件里插入了我的马。
劫持代码:

<script>
function myFunction()
{
var str = '......';
document.write(str);
}
setTimeout(function(){ myFunction(); }, 1000);
</script>

然后就浏览器开自动刷新一直等啊等,直到phpmyadmin被删,数据库密码被改......是的,穿帮了。当我再次尝试重置密码,似乎也补了。

总结

虽然这次渗透以失败告终,但也算拿到我要的东西了,没有白搞一场。反思一下,没拿下的原因,一是很少搞dz,没有收集过EXP,二是没什么耐心,跳过了爆破,而直接尝试社工这种冒险快捷的方式。其实我是收集了蛮多密码的,并且还有几台其他相关服务器的IP,有耐心的话,完全可以尝试挨个爆破,说不定能在其他机器上找到有用的信息。后续如果再搞的话,一是我上面说的爆破,二就是社他的空间商,直接拿到文件管理系统或者ftp之类的。

更新

经朋友提示,dz的密码可以解的,我昨天找错库了,没看到salt,正确的库应该是pre_ucenter_members

Linux提权基础-翻译&补充

不记录history:

unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null; export HISTSIZE=0; export HISTFILESIZE=0

枚举是关键

Linux提权时关于:

  • 收集 - 枚举,枚举,再枚举

  • 进程 - 整理数据,分析并优化

  • 适应 - 定制适应的exp,不是每个exp都适用于任何系统

- 阅读剩余部分 -

msf简单免杀

用kali下的shellter可以对msf的payload进行简单免杀,效果还不错,除了360,基本都能过。

安装

apt-get update
apt-get install wine32
apt-get install shellter

使用

1.png

需要先准备一个干净的文件,我这里用的puttygen.exe
2.png

选择隐身模式(文件能正常用),

3.png

选择L,直接生成payload,C是自定义payload。

4.png

后面就跟msf里一样了,设置IP和端口就行了。

效果

5.png