跟学弟一起做的一道逆向题,先给出了一个32位PE,破解之后发现flag不在那儿,至于破解过程我就不赘述了,感觉应该是个位移解密。

这个时候我们发现他给出了一个新的IP,我们在网页上查看这个地址,发现网站里面有一个php文件,这就说明我们需要跟他的服务器进行交互。我尝试了一下发现怎么都不能交互成功,靠我仅有的web知识挣扎了一下,就放弃了。

看完wp之后发现,给的PE文件里面竟然还有一个PE文件,用binwalk查看了一下发现0x24B0这里往后是一个新的PE,用winhex把它分离出来,得到新的PE文件,运行之后发现需要输入IP:PORT,正好之前给了新的地址和端口号,成功进入。

当然这肯定没解决完,他肯定不会连上了就告诉你flag,所以后面我们分析这个PE文件,很显然都是GO语言,这里就要去学习GO语言了,第二种方法运行exe的时候用Wireshark抓包,web方向的知识我也不赘述了。
贴上question.php代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14

<?php
$my_headers = apache_request_headers();
$hello = $_SERVER['HTTP_HELLO'];
$hand = $_SERVER['HTTP_COOKIE'];

if ($hello == "hello can you hear me?"){
header("COOKIE:you_found_me");
echo "Ahh. I see you've found me... here comes the flag :)\n";
}
if ($hand == "you_found_me"){
echo "auctf{r3s0urc3_h4cK1Ng_1S_n3at0_1021}\n";
}
?>

之所以写这个是因为最近看了嘶吼公众号推的一篇文章,APT组织利用IE和Firefox漏洞攻击,感觉在这个攻击手段跟这题解决方法在某些方面有点类似,只不过这个要简单很多。