安恒八月赛流量分析 (详细的解题过程和思路(mailtwo.pcap,mailtwo1.pcap,mailtone.pcap,mailtwo.pcap等)
目录
题目背景 ❤
关卡列表 ❤
题目环境下载 ❤
解析过程及知识点 ❤
2 .请分析流量,得到黑客扫描到的登陆后台是(相对路径即可) ❤
3.请分析流量,得到黑客使用了什么账号密码登陆了web后台(形式:username/password) ❤
4 .请分析流量,得到黑客上传的webshell文件名是,内容是什么,提交webshell内容的base编码 ❤
5.请分析流量,黑客在robots.txt中找到的flag是什么 ❤
7.请分析流量,黑客在数据库中找到的hash_code是什么 ❤
8.请分析流量,黑客破解了账号ijnu@test.com得到的密码是什么 ❤
9.请分析流量,被黑客攻击的web服务器,网卡配置是是什么,提交网卡内网ip ❤
10.请分析流量,黑客使用了什么账号登陆了mail系统(形式: username/password)❤
题目背景
某公司内网网络被黑客渗透,简单了解,黑客首先攻击了一台web服务器,破解了后台的账户密码,随之利用破解的账号密码登陆了mail系统,然后获取了vpn的申请方式,然后登陆了vpn,在内网pwn掉了一台打印机,请根据提供的流量包回答下面有关问题
关卡列表
1 某公司内网网络被黑客渗透,请分析流量,给出黑客使用的扫描器
2 某公司内网网络被黑客渗透,请分析流量,得到黑客扫描到的登陆后台是(相对路径即可)
3 某公司内网网络被黑客渗透,请分析流量,得到黑客使用了什么账号密码登陆了web后台(形式:username/password)
4 某公司内网网络被黑客渗透,请分析流量,得到黑客上传的webshell文件名是,内容是什么,提交webshell内容的base编码
5 某公司内网网络被黑客渗透,请分析流量,黑客在robots.txt中找到的flag是什么
6 某公司内网网络被黑客渗透,请分析流量,黑客找到的数据库密码是多少
7 某公司内网网络被黑客渗透,请分析流量,黑客在数据库中找到的hash_code是什么
8 某公司内网网络被黑客渗透,请分析流量,黑客破解了账号ijnu@test.com得到的密码是什么
9 某公司内网网络被黑客渗透,请分析流量,被黑客攻击的web服务器,网卡配置是是什么,提交网卡内网ip
10 某公司内网网络被黑客渗透,请分析流量,黑客使用了什么账号登陆了mail系统(形式: username/password)
11某公司内网网络被黑客渗透,请分析流量,黑客获得的vpn的ip是多少
题目环境下载
链接:https://pan.baidu.com/s/1rlKVlXtCR794E7ZQPhQf6Q
提取码:lulu
--来自百度网盘超级会员V2的分享
解析过程及知识点
1.请分析流量,给出黑客使用的扫描器
扫描器类型
❤awvs:acunetix
❤netsparker:netsparker
❤appscan:Appscan
❤nessus:nessus
❤sqlmap:sqlmap
既然要找扫描器 就以上的几种 常用的扫描器也就这几个:awvs,appscan,nessus
第一步肯定先打开webone.pcap了 我们先按照协议类型排序一下
先过滤一下http
发现有acunetix的痕迹
acunetix就是扫描器awvs的特征
为了验证猜想
我们再使用
http contains "wvs" 或者 http contains acunetix 过滤一下
证实了黑客使用的扫描器就是awvs
2 .请分析流量,得到黑客扫描到的登陆后台是(相对路径即可)
常见后台地址
❤admin
❤manager
❤login
❤system
我们可以尝试去直接直接过滤地址 http contains “admin”
我们就会发现 登陆的尝试字段admin/login.php?rec=login
其次我们可以从登录后台的方法去判断
登录后台的方法无非就两种 post和get
因为get的方法不安全 在提交url的时候会有问题
所以第一步,我们基本可以确定登录后台的方法百分之99就是POST方法
这里我们使用 http.request.method==”POST” POST大写
我们依然可看到他的登录地址是admin
如果还不确定
所以我们下一步就是去追踪tcp流 我们只要看到302重定向,就表示登录成功了
对有rec=login的流量进行追踪
这样也可以确定他的登录地址
3.请分析流量,得到黑客使用了什么账号密码登陆了web后台(形式:username/password)
因为我们不可能一个一个的去追踪tcp流
根据上一个题的结果
我们可以清楚的知道
黑客的ip是192.168.94.59,rec=login
知道地址我们就可以直接这样过滤
http.request.method==”post” && http contains “rec=login” && ip.src==19.168.94.59
根据以往的经验 直接去查看最后一个包
4 .请分析流量,得到黑客上传的webshell文件名是,内容是什么,提交webshell内容的base编码
上传文件嘛 post 源地址 还有协议http
所以我们可以先使用这句话过滤
http.request.method==”post” && ip.src==192.168.94.59 && http
你们要是仔细观察就会发现这里是有问题的,
一般来说 一个正常的网站,images下放的是图片
但这里放了一个a.php很让人怀疑是一句话木马
所以怀疑这里大概率是有问题了,我们对其中一个进行tcp追踪
看一下这就很明显了
一句话木马的特征,1234为传递值 eval是一句话木马的函数 base64加密过的内容
把base64的内容破译出来很容易知道就是一句话木马
再过滤一下tcp contains "<?php @eval"
将得到内容了
(当然你如果判断了是一句木马的话,因为他包括eval函数 所以最开始可以直接使用下面这句话去过滤
http contains “eval” and http.request.method==”post”)
5.请分析流量,黑客在robots.txt中找到的flag是什么
他既然想既然想找到robots.txt内的flag是什么
那我们直接去过滤这个文件就行了 命令如下
http contains “robots.txt”
然后对其 追踪tcp流
得到flag
6.请分析流量,黑客找到的数据库密码是多少
这里思路其实就很明确了 (数据库密码就涉及到三个关键字,分别是mysql、database、password)
要找密码就代表数据库已经登录成功了 那个http的响应码一定是200 并且一般会包含database
逐一查看响应码为200的数据包,即可找到数据库密码
http.response.code == 200 && http contains “database”
直接追踪tcp流
得到密码
在这里补充一点
(Robots是站点与spider沟通的重要渠道,站点通过robots文件声明本网站中不想被搜索引擎收录的部分或者指定搜索引擎只收录特定的部分。搜索引擎使用spider程序自动访问互联网上的网页并获取网页信息。spider在访问一个网站时,会首先会检查该网站的根域下是否有一个叫做 robots.txt的纯文本文件,这个文件用于指定spider在您网站上的抓取范围。您可以在您的网站中创建一个robots.txt,在文件中声明 该网站中不想被搜索引擎收录的部分或者指定搜索引擎只收录特定的部分。)
7.请分析流量,黑客在数据库中找到的hash_code是什么
打开webtwo.pcap(不想麻烦可以在最开始把两个流量包合在一起)
这道题也是思路清楚的
直接过滤关键字hash_code就行因为上一个题我们已经知道数据库IP了
所以我们使用下面的语句
http contains “hash_code” && ip.src == 10.3.3.101
对其tcp流追踪
8.请分析流量,黑客破解了账号ijnu@test.com得到的密码是什么
先直接过滤账号
tcp contains “ijnu@test.com”
tcp流追踪 或者看mysql协议
Md5解码
结果edc123@#
9.请分析流量,被黑客攻击的web服务器,网卡配置是是什么,提交网卡内网ip
我们再打开webone
网卡问题 无非就那几个 eth0 eth1 ens33 lo 等等
所以我们直接进行关键字搜索
tcp contains “eth0”
追踪tcp流
我们可以知道,外网ip是192.168.32.189,而内网ip是10.3.3.100
10.请分析流量,黑客使用了什么账号登陆了mail系统(形式: username/password)
使用到环境是mailtwo.pcap和mailtwo1.pcap
一开始利用POST和mail过滤了下
http.request.method ==POST && http contains "mail"
发现黑客进行大量的登陆尝试,随便看一个 找了一个密码,先看看是什么加密的
不是base64,应该是AES加密,但需要找到加密的密钥,还有偏移量,所以还是得重新过滤在服务器返回的信息中去查找,就先只过滤一下http,随便找一个状态码为200的追踪下TCP流
在mailtwo.pcap中过滤http,第三条数据的Cookie中发现了 login_name=wenwenni字段,并且是action=logout。
继续向下读取数据,发现下一个mail系统的数据是28号,然后又到了登陆界面的35号数据,在其中发现了密码的加密函数:
取出来发现是AES的CBC加密,填充格式为ZeroPadding,密钥为字符串1234567812345678的hash值,偏移量为1234567812345678
Var key_hash = CryptoJS.MD5('1234567812345678');
var key = CryptoJS.enc.Utf8.parse(key_hash);
var iv = CryptoJS.enc.Utf8.parse('1234567812345678');
form.password.value = CryptoJS.AES.encrypt(form.password.value, key, { iv: iv,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.ZeroPadding});
在下一次的42号数据请求中,发现登录用户依然为wenwenni,因为这个用户刚刚推出,所以猜测是使用cookie登录的,查看一下返回数据44号中出现{"success":true},代表登陆成功。
既然这样的话,我们使用以下语句过滤一下,
(http contains "{\\"success\\":true}" or http.request.method=="POST") and ip.addr==192.168.94.59
显示出post请求成功的返回结果,发现是在爆破,并且直到mailtwo.pcap的最后也未爆破成功。于是打开mailtwo1.pcap,用相同的过滤条件试试,发现几条数据,从后往前看,发现No.18152是登陆成功的返回结果,那对应的No.17126则就是正确的加密后的密码。
进行aes解密即可得到admin账号的密码
11.请分析流量,黑客获得的vpn的ip是多少
PPTP原理
❤PPTP客户机使用动态分配的TCP端口号,与PPTP服务器使用的保留TCP端口号123建立控制连接
(PPTP控制连接携带PPTP呼叫控制盒管理信息,用于维护PPTP隧道)。
❤客户端与服务器通过控制连接来创建、维护、终止一条隧道。
❤PPP帧的有效载荷经过加密、压缩或是两者的混合处理。
❤使用通用路由封装GRE对PPP帧进行封装。
❤将PPP帧封装进IP数据报文中。通过IP网络如Internet或其他企业准用INTRANET灯发送给PPTP服务器。
❤服务器接收到PPTP数据包后进行常规处理。
我们打开vpnone.pcap,发现
vpnone.pcap应该只是在尝试登陆VPN,再来查看下vpntwo.pcap
在统计——>IPV4中发现
10.3.4.96 、10.3.4.55 、10.3.4.3出现的次数最多
先过滤一下SMB,发现
所以10.3.4.96是SMB服务器,排除,再来查询下10.3.4.55
ip.addr==10.3.4.55
10.3.4.3先PING10.3.4.55
总的来说
第一个包在尝试登陆vpn,第二个包登陆上了vpn,然后第二个包 从 统计->对话 发现10.3.4.3和10.3.4.96发出的包比较多,而且过滤一下smb发现10.3.4.96是smb服务器,筛选10.3.4.55(另一个流量大点的地址)发现是10.3.4.3先ping它的,基本可以确定10.3.4.3就是黑客的vpn IP。