弱口令惨案

开始

闲着无聊,在fofa上搜些奇怪的东西完,然后一个奇怪的东西引起了我的注意
QQ截图20201120181450.png
重点是这次是一连好几个一起出现,我想着可能有好玩的了。就开始随手测试了起来

弱口令

一连七八个站,随手试试admin/admin,admin/123456这类密码,在我打开第二个站的时候成功进去了,界面是这样的
2.png
惯例,试图getshell,在节目编辑这里,我看到了一些奇怪的东西
3.png
这个jsp就十分的灵性,直接点击编辑,修改jsp代码,光速getshell
4.png

挖洞

getshell下来了,那么肯定垂涎其他站啊,毕竟好多站都是这个cms,而且里面还有这么多台机器。首先进数据库看了下用户。
很好,sha1加密,解得开的登不上,解不开的。。。那就解不开了
5.png
并没有什么通用密码,而且访问所有jsp都会跳转到首页,没办法,只好先去翻配置文件
6.png
直接暴露了个上传接口,lucky,二话不说打开看看
photo_2020-11-20_18-29-42.jpg
可以访问,不怕你安全性高,就怕你全部路由都需要验证。
立刻下载源码拉进ld-gui去审计看看
upload.jpg
爷傻了,任意文件上传,只要带mp3在文件名任意位置就能上传任意格式的文件。
这时候我们再回到配置文件
7.png
只设置了jsp是要跳转。。然而你忘了jspx。。
于是乎
8.png
好的这套的控制器基本就全都拿下来了

反日小鸡

既然控制器都解决了,辣么接下来肯定是想办法日到小鸡了啊,毕竟这都是广告控制牌。十分的好玩。机器数量还不是一般的多
9.png
首先我们先看远端管理功能,发现了有些什么打开vnc/teamview这些功能
10.png
跟进源码发现
11.png
并没有什么软用,这时候我们把目标转向广告分发功能
image_2020-11-20_03-56-19.png
发现了下载这个关键词,我们大胆猜测一下,虽然这个预览是本地显示jsp路径的,按照逻辑上来讲应该是远程访问这个地址然后加载广告,那么有了这个下载功能会不会是本地加载?
二话不说打个写个html下去
image_2020-11-20_03-56-45.png
远程查看结果人家真的显示了html,辣么二话不说,打个xss下去
12.png
结果人家真tmd是本地jsp环境加载的。
直接写个反弹jsp的shell
fantanshell.png
上线成功
13.png
直接修cs里去

小鸡渗透--内网漫游

本来这时候应该先审计小鸡源码的然后先把小鸡都拿了,然鹅我看到了这玩意有域,就先搞起来了
yukong.png
先mimiktz读凭据,然后用cs自带的扫描器扫内网,目前手头只有一个凭据
pinju.png
然后用这个凭据批量登录
psexec.png
最后发现,只有同计算机名的机器上线了
tongwork.png
进去看了下似乎都是广告机
之后,对着各个Ladon和各种工具走起,发现了10,11,40,50,150这些内网网段,初步计算下来,估计至少有500台。
使用MS17010先跨网段耍一耍。
无标题.png
随便日了几台
无标题2.png
发现这似乎是有规律的,都是[a-z][a-z]mgr01开头的密码,这还不立刻SmbScan,然而手头机器拉跨,而且半夜机器会自动下线就很烦于是乎我就关机了。
然后第二天一打开
photo_2020-11-24_02-13-47.jpg

我淦,当场抓获,管理员tmd在杀毒。上了个MSE,虽然很好过,但是也对我们造成了不小麻烦。因为前几天都是用cs的小鸡直接打的估计有写管理机进得去但是正好被杀了于是乎被管理发现了。十分的烦。

然后我花了点时间好不容易整出个可持久化的免杀工具,也就是这个:https://github.com/9bie/shellcode

然后等我万事俱备再上线一看
photo_2020-11-24_02-16-33.jpg
tmd被管理员降权了,可恶。
photo_2020-11-24_02-17-03.jpg
wdnmd,不过最后好在隔壁217机器没被降权,继续用终端机下发了个马过去
photo_2020-11-24_02-18-02.jpg
然后机器又关机了
第二题,经过几天研究,在那么多ms17010中,我们发现除了10.8是08,其他都是win7并且都在域内后面带.LOCAL,于是乎我们怀疑10.8是关键服务器,然而除了第一次打进去之后掉线之外,这台服务器就再也没被我们打进去过。

九世, [28.11.20 02:10]
192.168.10.8 MS17-010 SHAREPINT  [Win 2008 R2 Standard 7600]
192.168.20.147 MS17-010 KS16POS47 kaohsiungtw.local [Win Embedded Standard 7601 SP 1]
192.168.20.119 MS17-010 KS16POS19 kaohsiungtw.local [Win Embedded Standard 7601 SP 1]
192.168.20.117 MS17-010 KS16POS17 kaohsiungtw.local [Win Embedded Standard 7601 SP 1]
192.168.20.110 MS17-010 KS16POS10 kaohsiungtw.local [Win Embedded Standard 7601 SP 1]
192.168.40.51 MS17-010 TCKIOSK01 tigercitytw.local [Win 10 Pro 10586]
192.168.40.52 MS17-010 TCKIOSK02 tigercitytw.local [Win 10 Pro 10586]
192.168.40.54 MS17-010 TCKIOSK04 tigercitytw.local [Win 10 Pro 10586]
192.168.40.102 MS17-010 TT10POS02 tigercitytw.local [Win Embedded Standard 7601 SP 1]
192.168.40.104 MS17-010 TT10POS04 tigercitytw.local [Win Embedded Standard 7601 SP 1]
192.168.40.106 MS17-010 TT10POS06 tigercitytw.local [Win Embedded Standard 7601 SP 1]
192.168.40.211 MS17-010 TCPLASMA01 tigercitytw.local [Win 7 Professional 7601 SP 1]
192.168.40.214 MS17-010 TCPLASMA04 tigercitytw.local [Win 7 Professional 7601 SP 1]
192.168.40.215 MS17-010 TCPLASMA05 tigercitytw.local [Win 7 Professional 7601 SP 1]
192.168.50.137 MS17-010 TN9POS37 tainantw.local [Win Embedded Standard 7601 SP 1]
192.168.50.136 MS17-010 TN9POS36 tainantw.local [Win Embedded Standard 7601 SP 1]
192.168.70.114 MS17-010 HS11POS14 hsinchutw.local [Win Embedded Standard 7601 SP 1]
192.168.70.112 MS17-010 HS11POS12 hsinchutw.local [Win Embedded Standard 7601 SP 1]
192.168.70.106 MS17-010 HS11POS06 hsinchutw.local [Win Embedded Standard 7601 SP 1]
192.168.70.104 MS17-010 HS11POS04 hsinchutw.local [Win Embedded Standard 7601 SP 1]
192.168.70.107 MS17-010 HS11POS07 hsinchutw.local [Win Embedded Standard 7601 SP 1]
192.168.70.235 MS17-010 MW1302T-728-PC  [??渀?漀?猀???倀?漀昀攀猀猀?漀渀愀氀??? ???攀?瘀?挀攀?倀愀挀欀??]
192.168.70.215 MS17-010 HSPLASMA05 hsinchutw.local [Win 7 Professional 7601 SP 1]
192.168.80.107 MS17-010 QSPOS07 QSQUARETW.LOCAL [Win Embedded Standard 7601 SP 1]
192.168.80.103 MS17-010 QSPOS03 QSQUARETW.LOCAL [Win Embedded Standard 7601 SP 1]
192.168.90.216 MS17-010 BQISHOW01  [Win 8.1 Pro 9600]
192.168.100.170 MS17-010 BCBIONB01 BigCitytw.local [Win 7 Professional 7601 SP 1]
192.168.100.144 MS17-010 BCPOS44 BigCitytw.local [Win Embedded Standard 7601 SP 1]
192.168.100.146 MS17-010 BCPOS46 BigCitytw.local [Win Embedded Standard 7601 SP 1]
192.168.110.128 MS17-010 TZPOS28 TaiZhongtw.local [Win Embedded Standard 7601 SP 1]
192.168.110.137 MS17-010 TZPOS37 TaiZhongtw.local [Win Embedded Standard 7601 SP 1]
192.168.120.117 MS17-010 NFPOS17 NanFangtw.local [Win Embedded Standard 7601 SP 1]
192.168.120.235 MS17-010 MW1302T-7A-PC  [Win 7 Professional 7601 SP 1]

一度怀疑是否是pipe管道被我们破坏了,甚至试图想用bluekeep(0708)把这服务器打蓝屏重启然后再用ms17-010进去。

直到今天终于又把这个打进去了。

photo_2020-11-28_04-06-55.jpg

这时候我们光速mimikatz和dumphash
2.jpg
收获凭据无数。这时候我们一看,administrator密码是P@ssword,典型弱口令。

我人傻了,我再也不小瞧爆破了,可以肯定的是,这个密码绝对在我的字典里,以前我非常小瞧爆破和弱口令,觉得这么傻的东西肯定不会有人设置,就算有人设置我也肯定遇不到,然而今天还是遇到了,下次绝对实现跑弱口令试试了,就因为这耽搁了好久。

既然关键服务器拿下了,那么其他就简单了,批量撞密码走起
piliang.jpg
好,登录
35.jpg
40.jpg
还有kvm

在桌面发现密码,以及mimikatz又抓出很多密码
36.jpg
37.jpg

并且这个用户直接是域管

用这个密码直接登录域控。
yukong.jpg
好,这个段的域控拿下了,抓了密码,基本都一样,最后怀疑所有域控密码都一样,随便试了几个,确实是这样。

同时看了下,这个域内其他机器,都是管理控制台中的其他广告机以及其他设备

所以可以宣告第二阶段任务暂时结束。内网基本可以任意漫游了。接下来九是第三阶段摸清拓扑和一些域外机器了,感觉那些机器肯定更有意思。

最后根据域内机器dns信息,我找到了这个段的官网

结合官网以及机器名来看,我们说不定能偷到电影或者在线陪看也说不定,

所以下个目标基本就是NAS和摄像头拉

摸清拓扑

因为现在是大半夜,刺激点,直接上去nmap走16段走起
QQ截图20201203212946.png
在nmap的同时,我们用nbtscan和netview手头的信息,先把10段所有的域控拿了,10段非常有意思,他们里面不是一个域,而是很多个域的主机都在一起。
根据主机名,我们直接把目标盯上10.34这台
QQ截图20201204160448.png
同时nmap扫描结果也出来了
QQ截图20201204160553.png
这台目标已经是在我们的拿下的域控里面,所以利用域管的凭据是可以直接登录的。然而没开3389,现在依旧是传统艺能psexec过去传马?
然而仔细观看发现,域内99%的windows主机都有运行开启6129,也就是damewaremr这款远程控制软件,我们直接用这台机器登录。
上去二话不说,直接找数据库配置文件
QQ截图20201204161111.png
先进本机数据库,捞东西
photo_2020-12-04_16-11-51.jpg
2.jpg
得到了大致的人员职称以及大致拓扑图。根据图二和nmap结果可以看出,我们的入口点是从150段进来的,然后除了11段之外,其他网段数据都和11段结构十分类似,而150段又被我们扫烂了,所以直接把目标瞄准11段
顺带捞一下字典
photo_2020-12-01_01-11-09.jpg
虽然可能没什么用但是先存了吧。

之后直接登录11段内的机器,根据之前捞到的职位表,我们先进一个
zixun.png
根据用户名,我们不难找到他们的机器
11.png
照旧,先探索他们所在的域控。域控名称为VIESHOW。利用其他域控的密码试图登录域管,登录成功,然后用dw直接登录他们的机器
dw.png
登录成功,之后直接利用RDP劫持切换用户
ok.jpg
看样子还似乎是个笔记本

见鬼,你们笔记本都丢公司不带走的么?

之后直接捞文件
zhuo.jpg
zuopu.jpg
完整拓扑到手
photo_2020-12-04_17-05-16.jpg
再根据之前保存的字典跑一下这个表,解开了

最后根据chrome上保存的页面和收藏的标签
oa.jpg
和outlook里面的记录
mail.jpg

我们知道了OA主机和主要交流方式(outlook)

结语

最后,我们基本就完全拿下了这个内网。回顾下整个攻击,可以发现ms17是真的好用,就靠这个ms17盘活全部局面,不过站在事后马后炮一下,可以发现,我过度的轻视弱口令对于smb的探测了,因为可能我个人实在不相信会用弱口令作为系统服务器密码的,只不过没想到真的有,如果使用早点使用弱口令扫描器也能盘活整个局面不至于在这地方卡半天。

这次能日下这个归根结底运气是非常大一部分,从fofa随便搜到cms批量再到随便选中一个就发现这个内网再到正好有一台08的机器有ms17,可谓是渗透全靠缘分,有时候缘分到了就日进去了(狗头。。。

最后直接走人,日穿完也就没啥意思了,溜了溜了

Tags: 渗透

某OJ渗透纪实

并没有什么技术含量,纯粹就是玩个黑盒的过程。挺有意思的,所以就写下来了。

起因

天台在群里说,他们那有个OJ是用windows的

TIM截图20200611143057.png

当然二话不说上来看看咯。

开整之前大致想出流程,

  • 判断是否容器
  • 判断是否出网

第一因为是用windows所以有点希望,就来验证第二个看看。

bypass

先找个时间长点的题目

2.png

上去提交代码。能用的有C/C++/G++/JAVA/C#以及PASCAL

3.png

试了一下,C/C++没有windows.h,基本的system等函数就直接reset了。

估计有一些防火墙。

运气好,发现C# 能执行api???

这下好说了,shellcode走起。

直接参考这个

C#加载shellcode

提交,运行,之后cs上线了

photo_2020-06-11_14-37-52.jpg

但是10s一过就被k了。

原本是想找个能自动复制的shellcode,或者是干脆直接exe2shellcode然后编码到代码里提交上去写出

结果提交代码有长度限制,最多6kb,只能继续在shellcode上整活了。

那么继续,我们换个思路。

我们把自己复制一个,然后用api把自己运行不就行了?

经过测试之后,发现,CreateProcess这个api可以用,shellExecute这些倒是被reset了。

那么接下来就简单了

createprocess.png

测试之后发现,只有本体线程上线了。。。复制之后的那个没上线?这就很尴尬。
现在有3个猜测

  • Temp文件夹没权限
  • CreateProcess并不能运行
  • 本体不是exe而是某种动态执行的东西,所以复制本体出去压根不是正确的PE文件

总体来说就这三种情况,那么我们该怎么排查呢?

伪黑盒测测

oj也不是完全黑盒,oj也是有返回结果的

status.png

其中我们只需要关注Judge StatusExe.Time,Exe.Memory这些就行

前两个我们是可以手动控制结果,后面一个Memory是判断我们程序是否正确运行。

那么接下来就简单了。我们可以手动一个选择支(if),达成某种目标,就给出正确答案,或者超时等等。

我们先判断程序是否复制到了Temp文件夹下面,如果复制到了那么就直接Sleep到超时。

if (File.Exists("C:\\WINDOWS\\Temp\\asd.exe"))
                {
                    System.Threading.Thread.Sleep(2000);
                    return;
                }else{return;}

经过测试之后发现,文件不存在。程序并没有超时,直接return了。

继续判断扩展名

string filename = System.IO.Path.GetFileName(szPath);
if(Path.GetExtension(fileName)==".exe"){System.Threading.Thread.Sleep(2000);}

发现超时,说明文件确实被编译成exe了。

那么既然temp目录没有权限,那么我们就直接复制到本地目录不就行了嘛。

经过修改代码之后,提交运行。这次倒是上线了两个。

但是依旧是过了10s,这两个程序同时掉线了。预测是被k了。

这就很奇怪了。

难道TMD学360还能判断进程链?还是说有什么组策略?

既然这样,我们就换个方法,既然它会k进程链,那么我们就注入到不是我们创建的进程不就行了嘛?

经过测试,Process这个关键字没被拦截,那么Process[] processes = Process.GetProcessesByName(processName);这个方法应该也不会被拦截,试了一下果不其然。

这oj真的有做过滤嘛emmm,不过能调用api本来也就很奇怪了吧。

依旧同样的方法,判断explorer.exe是否存在,然后找到它的pid。

这里要注意点,可能找到的不一定是guest用户的explorer也许是其他用户的,我们不一定有权限注入。

所以是循环查找。

然后就是远程线程注入。

5.png

很好,自信满满,提交运行。

结果:

6.png

????

换了x64/x32的shellcode都不行,msf的也试过了。全TMD都不行。

我本地测试一下也奇怪的奔溃了。但是用C++写的那份却可以运行。怪事。

不得已,只能上CPP了,还是CPP用的顺手。

不过在此之前只能祈祷这上面能用内联汇编
提交了个

#include<stdio.h>
int main(){__asm{NOP;}return 0;}

上去,发现编译通过了!!!

不就是不能用windows.h嘛,小事。

之前想过,不能用windows.h最大的问题是什么?不能调用winapi嘛。

然而懂计算机的都知道,我们只需要知道函数的地址,然后手动call不就能调用了嘛。

和这种情况类似的有什么呢?对,就是shellcode。直接PEB或者SEH查找k32.dll的地址然后再找到LoadLibrary和GetProcAddress的地址,那么winapi不就是随便用了吗?

因为仅仅是不能用windows.h,和我另外一篇 自己动手打造一份熊猫烧香 ,还是有点区别的,至少strcat这些简单函数都能用,其他的都好说了。

为了节约代码长度,这次不用上一篇文章的那个方法整结构体了。直接参考

Windows下Shellcode编写详解

中的内联汇编代码,抄出来稍微改改就行
shellcode.png

然后就是定义api然后调用

api.png

代码很长后面我就不截图了。有了API原理就和C#版本的一模一样

一样的注入explorer.exe,提交,运行。

感天动地,终于上线了。过了一分钟也没被k。

收尾

现在就是判断系统版本,先判断系统版本,systeminfo是不能用的,tasklist也不行。因为是guest权限不是那些IIS权限,所以前段时间我用的很爽的各种土豆都用不了,这土豆是真滴好用。啊废话有点多。

用C#随便写一个判断系统版本的丢上去。

这时候确实是C#比较舒服。.net库还是全的,如果是CPP整winapi还得弄一堆七七八八。

最后结果是win7。虽然结果是这么写的,但是也有可能是08之类的东西。因为上传shellcode没被杀,所以确认是没有杀软,直接提交exp吧。

有了这个就很简单了,随便找个1458丢上去,运气好提权成功。
tiquan.png

用1458的时候还出了点小意外,详情可以看我博客里面有个tgchannal。过于丢人就不说了,总之还是换了8639,提权成功。

system.png

接下来就是横向了,不过我只是为了日OJ而来,剩下的就索然无味了,横向还是日tw的edu好玩。又没有法律风险,难度也不是很高,他们的web一个个都可以是梦回2008年代的画风。但是意外的洞却不多,所以又简单的同时也有难度,啊又跑题了。

总之第一步随手看个netstat -an,以及arp -a,查看其他资产,有mysql连接,这种主机肯定存在MySQL配置,可以用来横向。

第二步当然是我们最爱的ms17010啦。
17010.png

emmmm,这管理员真的有在管学校嘛。

剩下的没意思,溜了溜了

Tags: 渗透, oj

DLL劫持的白利用加载

学到了一个新的技巧。
和lpk.dll类似,有些文件会自动加载目录下面的dll。
并且这些文件是经过授权且加入白名单的程序。
例如WINWORD.exe。
其他的待收集,只是记录一下

Tags: 渗透