目录
## 黑客留下的文件
## MMS协议分析
## 常见的对称加密
## 失窃的文件
## findbackdoor
## address
## 恶意文件分析
## 黑客留下的文件
已知新型的php一句话木马如果接收到pass参数,则会生成16位的随机秘钥,存储到session中,返回的内容是AES的密钥。
2、用Wireshark打开后,首先看其http流量,发现主要对shell.jsp和.index.php页面进行了请求。
3、通过查看http流量包发现GET /public/.index.php?pass=531和pass632符合新型的木马是随机生产的16位随机密钥。
通过传参pass=531 返回的PHPSESSID=0megcpp047qi2q4357p8ne8ld6 内容是"777ad23134150e3c"
pass=632返回的PHPSESSID=gl5g303u0a6qi7483oqiucnbb0 内容是"ad8d0732eaa9f749"
通过查询两个PHPSESSID的值发现后面基本是PHPSESSID=gl5g303u0a6qi7483oqiucnbb0,所以猜测pass为692。
4、然后导出所有的HTTP文件发现大部分是.index.php的文件
5、导出之后的.index.php使用PHP脚本进行循环遍历,通过查看发现shell.php没啥有用的内容,有用的基本都在.index.php中,通过脚本去遍历输出.index.php解密的内容,脚本如下:
<?php$key = 'ad8d0732eaa9f749';for($i=0;$i<=13;$i++){$temp = file_get_contents('./.index('.$i.').php');$temp=openssl_decrypt($temp, "AES128", $key);echo $temp;$arr=explode('|',$temp);$func=$arr[0];$params=$arr[1];$params = preg_replace('/eval/', 'echo', $params);eval($params);
}
?>
6、查看源码view-source:http://localhost/bx/pass_all.php
浏览查看到关键信息cat *.txt内容。返回包数据包含status和msg,status返回success,msg包括内容
通过查找有用信息得到执行ls和cat Wh@7_1s_Th15.txt
Wh@7_1s_Th15.txt css favicon.ico index.php js robots.txt svg web.config
{"status":"c3VjY2Vzcw==","msg":"ZmxhZ3tmYjk0OGQ4ZTMyNWZlM2Q5MGQzZWE1OTMzNjllZDFhMn0K"}
{"status":"success","msg":"flag{fb948d8e325fe3d90d3ea593369ed1a2} "}
得到flag:flag{fb948d8e325fe3d90d3ea593369ed1a2}
## MMS协议分析
1 PDU Type:无符号整型,1byte,标记状态,注意上图中这行后面的0x0e,代表连接请求,还有其他类型如下所示。
0×1: ED Expedited Data,加急数据
0×2: EA Expedited Data Acknowledgement,加急数据确认
0×4: UD,用户数据
0×5: RJ Reject,拒绝
0×6: AK Data Acknowledgement,数据确认
0×7: ER TPDU Error,TPDU错误
0×8: DR Disconnect Request,断开请求
0xC: DC Disconnect Confirm,断开确认
0xD: CC Connect Confirm,连接确认
0xE: CR Connect Request,连接请求
0xF: DT Data,数据传输
confirmed-RequestPDU(确认-请求PDU)
3、发现是一个数据的传输过程。DT表示数据传输
首先是两个数据包是
initiate-ResponsePDU(启动-应答PDU)
4、仔细观察流量包,发现confirmed-RequestPDU,发现字段和值都为以下格式
浏览TCP流,发现几个异常的数据包
分别为
3196流量包:LLN616732557968356j
4678流量包:LLAy7sxCA9wSYrVLCbr
6、猜测前三位为固定格式,观察发现666i5250356j4249,616732557968356j。类似于hex编码,但是i,j在16进制不存在,所以进行替换爆破。
import binasciis1 = '666i5250356j4249'
s2 = '616732557968356j's = ['a','b','c','d','e','f']for i in range(len(s)-1):tmp2 = s1.replace('i',s[i])tmp2 = tmp2.replace('j',s[i+1])print (tmp2.decode('hex'))tmp1 = s2.replace('j',s[i+1])print (tmp1.decode('hex'))print ('---------------')
执行结果如下:
PS D:\Code> & "D:/Program Files/Python/Python27/python.exe" d:/Code/1.py
fjRP5kBI
ag2Uyh5k
---------------
fkRP5lBI
ag2Uyh5l
---------------
flRP5mBI
ag2Uyh5m
---------------
fmRP5nBI
ag2Uyh5n
---------------
fnRP5oBI
ag2Uyh5o
---------------
发现如下爆破结果可以进行拼接组合得到flag
flRP5mBI
ag2Uyh5m
flag:flag{flagRP5mBI2Uyh5m}
## 常见的对称加密
1、观察所给文件中的s盒,发现与pyDes库中的s盒不同,遂替换里面的__sbox
2、明文密码给了welcome,直接DES解密就好了,中间还有个unicode编码,直接用binascii库解码就可以了
EXP脚本如下:
# -*- coding:utf-8 -*-
import pyDes,binascii
c='a669ca04e31c244d9dd2decc1f2678a4624986567b25af5d'
key='welcome'.encode()+b'\x00'
print(key)
d=pyDes.des(key,'ECB')print(d.decrypt(binascii.unhexlify(c)))
运行结果如下:
## 失窃的文件
1、下载解压发现12306_aux.exe文件会报毒,锁定为木马文件
2、IDA打开12306_aux.exe文件,定位关键字符
3、找到关键代码,将byte_42A8F8中的数据每一个都异或0x91
4、解密脚本如下:
执行得到结果:
得到压缩包密码:aceduf
5、对压缩包进行解密,发现word文件加密,还需要密码才能打开。
6、IDA定位关键代码
EXP解码如下:
得到解密密码为:http://100.44.33.8/upload
7、输入密码,得到flag。
## findbackdoor
2、通过base64解密可知算法如下,post参数z1传参:
@ini_set("display_errors","0"); @set_time_limit(0); if(PHP_VERSION<'5.3.0') {@set_magic_quotes_runtime(0);}; echo("X@Y"); $f='C:\\phpStudy\\WWW\\uploads\\reverseshell.zip'; $c=$_POST["z1"]; $c=str_replace("\r","",$c); $c=str_replace("\n","",$c); $buf=""; for($i=0;$i<strlen($c);$i+=2) $buf.=urldecode('%'.substr($c,$i,2)); echo(@fwrite(fopen($f,'w'),$buf)?'1':'0');; echo("X@Y"); die();
3、定位z1所在的流量包,发现为第22个流量包
4、将流量包数据复制到HxD,保存为rar文件。
5、解压缩需要密码
6、可以看到压缩包里面的文件名为c526eb8fbf091b7dbb5e3e4aa0bb1c8b.png
7、获得口令解压得到一张图片,发现是二维码,但是只有部分。
8、放入010编辑器,修改图片高度257为500,修复图片到二维码图片。
9、扫码得到flag
flag:flag{Jxciit_ICS_zip_zip}
## address
帧格式
2、打开流量文件,筛选104协议的流量包
3、浏览数据包,发现ASDU存在多种值,其中ASDU=0最多。ASDU即是Addr的值。
复制addr字段iec60870_asdu.addr,对addr进行筛选。
发现流量包比较多,大致浏览未发现有效信息。
4、接着筛选iec60870_asdu.addr!=0,发现剩余的都是(ASDU=4)iec60870_asdu.addr==4的流量包。总共只有30个流量包。
浏览数据包,发现act包数据都有一个字符,浏览前四个act包,发现组成起来为flag。
5、继续筛选act值的字段,iec60870_asdu.causetx==act,发现flag为:
6、组合起来,得到flag为:flag{jx104_biu}
## 恶意文件分析
2、可知其有很多字符串,把evil.rar拖到Kali读取所有字符串通过grep筛选关键词发现有关键信息
ZXdhenhkczc0MTk1Mw==通过base64解密得到ewazxds741953
GK转十六进制是474B