possible-door

rust tauri 逆向,需要一定脑洞,题目描述比较抽象 sometimes history repeats itself伏笔。

先解包出 js 代码,在最下面发现前后端用 invoke 交互和与远程 http 交互的逻辑,先用 waitnum 从后端拿一个随机数,然后用这个随机数作为 ecdsa 的私钥,再生成对应的公钥,setInterval 是一个监听函数,每次 function x 收到远端发来的请求,格式是 updateType, data ,通过流量包分析,data 是一个文件路径,op1op2 对应list_dirread_file,用 invoke 和后端交互执行完对应函数以后,把返回值交给 function hPOST 回去。

返回包的格式为 Publickey, ecdsa.sgin(msg, privatekey), msg,都是加密过的,那么既然前端没有加密逻辑,肯定就藏在后端,结果出题人12点才给符号emmm

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

function waitnum() {
return await new Promise((u, o) = >{
invoke("get_rand_num", {}).then(m = >{
u(m)
}).
catch(m = >{
o(m)
})
})
}
const u = $(".grid-cell");
var o;
const m = await waitnum();
console.log("get_rand_num response: ", m),
o = PrivateKey.fromString(m),
console.log("privateKey: ", o);
let d = o.publicKey(),
M = I();
S(),
setInterval(x, 1e4);
function h(Q) {
const Y = {
pub: btoa(d.toDer()),
sig: btoa(Ecdsa.sign(Q, o).toDer()),
data: Q
};
fetch("http://192.168.147.1:8000/api/update", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(Y)
}).
catch(te = >{
console.error("Error:", te)
})
}
function x() {
fetch("http://192.168.147.1:8000/api/update").then(Q = >Q.json()).then(Q = >{
switch (console.log("recv: ", Q), Q.updateType) {
case "op1":
invoke("list_dir", {
path: Q.data
}).then(Y = >{
h(Y)
});
break;
case "op2":
invoke("read_file", {
path: Q.data
}).then(Y = >{
h(Y)
});
break;
case "op0":
default:
console.log("unknown update type");
break
}
}).
catch(Q = >console.error("error:", Q))
}

后端的函数如下,看一下read_file,读完文件以后调用了一个 enc,点进去一看是 AES_CBC_128 + base64,但是 key 使用 once_call 初始化了一个 LAZY 全局,看到其中一个参数有个 closure闭包,进去看一眼

image-20240527220736147

image-20240527221541650

image-20240527221141241

好家伙,thread_rng,静态别想找到密钥和 iv 了,看来得从流量包里找了,联想到题目描述,然后再去看一眼 js 代码,发现有一个 get_rand_num 函数,是把后端的这个密钥传给了前端然后作为 ecdsa 的私钥,而流量包里面又有很多用相同私钥签名的消息,假如在签名的时候有其中某两条消息所用的 NONCE 是一样的,我们就能解出这个私钥。

利用随机数冲突的ECDSA签名恢复以太坊私钥 - 先知社区 (aliyun.com)

于是把流量包里所有的 json POST 包给 dump 下来,逐个解析

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
def public_key_from_der(der_public_key: bytes):
public_key = serialization.load_der_public_key(der_public_key)
if not isinstance(public_key, ec.EllipticCurvePublicKey):
raise ValueError("Not an EC public key")
return public_key


def signature_from_der(der_signature: bytes):
r, s = decode_dss_signature(der_signature)
return r, s


msg_json_list = [
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEQCIDTcwKOn9Hn/Ty2CbznFVapsPtQUsjEyuIWcEsgisnCoAiBQOuY8J1lED9IKau/bjbHb1a76BtVS+fiouYp9dcxrKA==",
"data": "e8NUGgEIa+k8sSm4ofSbIgMWmEw33rbS1L8lqAKR6iaNYcIuHfiHLMp0wfplCzeKwpZW/QxUj0VEoSWEUvdhkHkJjRieURbg43yWMn3z0A5RluSSEuAsG++RzK7Yoy1nBTsBDpgIlh4OoWxfp9iso8+S7m8x1nBT9cl1ex6rSfEfYTLKtRPmoinnjV59/6g7+VMfiseH54G2G5G4rx5jq5TZk4GzS9xP2XhXzqSgWwKl/ZDPXsYnLOkaHFdMNeeXq1KuxCLwvjf01VdwmzSUFqQk0U0APhWyJA08m1LKRz58AKF18kDs+K3I/maCaFzB21ZpJHLnq2/BbvRfte551N36K6Yf12ffBJ+BTl7oH0fgJjZZaXWPAp+I5/xGKwBA"},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEQCIFLxDvFCOOQSNZ2SoBDoUTTz1lFACZ8ngSRP4rVKX0CWAiA/vfXD2AElXmb6Zst7UtmFcrpqiHD1NWVhq8mS1Q7MUQ==",
"data": "sO2sRQDGCYV9NykEdkR65Sflmcig5zRHj/h64ciExkLdG/oNlaZ8tI1B0bsav+qubaS+3fQAe60exHQUv7YCQfdYT/3qBNuycaBi3ZIO1eiWXWl6RMRFKb5i6VasVwZCybIm7ojY7HPSqd6676OJJ8pvQJreAi8T4caTyizgI/NanxekmnnUdM7svitep5SQ8tWvxZUQg8gsJqtUAedgMGMD5QyTVchRKoNAiKlhwxgXYkeg5kOOokq4xP+End8bmlDUFSt9+p+6OEJDeHzVNIybPbJ4eB6Qu7yIor6oYBPjn6dJW6mab5PiXnZnZ4ilXeumlAkbcKMl2rorDtXAggk2jhYQrSu3TpnqfDpNgB4R9+TlCuELKCElrqwM6grmZ99OGc/IzunNJU7izTK5bazEbMGSzXoS0GTm/MtwoxQIy9IhD6eovMRWduUjuSy+UiZMjzbtJY9+nOjUfb0G0W+q1u551NBqVqiXnxGnZtDXE8Fl0LFS9uAtZFWa+s0H"},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEUCIE4oqeQY5tSbYvL1phltM4hIJLK2fLejy7D3BVgGtrrwAiEAjpN3jiGjAg19/BPH6xNgquI1doPuTPqNAh0TzJnEKO8=",
"data": "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"},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEQCIDjQ/jMMOHKW+1ajmVyGiped93CeBPIinzJgOt3FEhKYAiBYzbxCX+/79IgG5OQzq12KoVgDwaMEFsnkaChSfDZS5w==",
"data": "4wlpou+C7tIo1rmSj+aHNaV6FFeqTUxAOvxoZiG/GwymRZSG2Vc5xudwNRnGowFt1IRpaoZrjm0Slxbv0MKWZGNIUS7B5jCCJn9BTc90x50="},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEQCIHYf9M1WhFbcF63h2sTHu824O9DyOBUIbzudFTD2YOxqAiAb9oqq2/h/sgJ+Pk7jn4yhpohfixZLbeRtxcjnDwI0NQ==",
"data": "bNtkPT71kQVt1xDpqp9GJR22wBt8IwCk39LcYrgBNDJoMn2EWGJEdNzvUz0tX7O4R9R7xnC/dJMFhguFPnqNNGUTidK3k9PjXjW2Q8z83uyguospnQ8V4eFZZG995qFrjFk941atB7sSvw/tIo1hopZeSzTeIsdQ0mWEAefvc1jHTehQW/dGwVEYYvlJqrU5S0TCZoevmUjcgNFlNusnUHBj4CmqCRJwV336tYNqpu1WInySFT3AUo2gA2D+1+ECgxsBgsgqGW9uevDHiflMbvtj+Z1QW55h3FqhM1Ccs99EMX0EE9HWgN98lx5zpvYvpKgMlVvov/tMb2Rwel933bRm2BglYxlxrTGk40KoXLA7bIuapkojqrsavLTxzshGgR4GyQ/k62d2UhI3Rf7cvdGYxffADb/a2nroZTCDGF++LTLI7/dWZCQ1hgbZuLJC8g1kvVlIYslHKKnr+T/uSiQrq9CQGcFJzySteVo6BHE6TXAb6PPORo7JU/z2TzdRZpDBl4Ph8s+4Ftv0iKmN0FWKQT20Tzek1YJAt9Rv9EIRClon4o2YLyKj9NMQzi1g8Z59cLxBmHU6VEP/HcOIkj2vvsTnOso+uMdmqxBeQP1edOcXeZos2MA6T0POF6rF8ttpPK/oR3ZRhtKLtQ11L/yumNLgmDrQSoNHrucGuySeMpnAjTDkUTpXGvwt+OlClgwFqAN5RbPB2O6QRc42P3fUw0fS0W7PvJwHqlDW4wbLQ0X84MRbMP6ie13Jde7XjnTmHVmuGx70XywDJhYQEw=="},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEYCIQCpx+kVw/+1u7YY7H4k0plemLJNpOBJKDvZIuzF+edY3gIhAPJNf7T2fYPjSb5viIOktFgBsNzSMUHfE0aqNIhp2GiG",
"data": "RgbUgZ5PUbA+Cv2OnvLrI8X8/sW8r61EJPI/lQYC97pZrMFAw6WhaG5LfC5TpNBFJGbI92fNCVSmf6X15GWL6g=="},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEYCIQDaHSk0ts21UkwsKiac7DbnFFof/dXuV/ZasagF3xIzcQIhANYYbymHoAUqQkO7rChnK/G56fvFiPakl6rWJFYE+N0z",
"data": "h4RmLMB1rERLmKjKB/ilmA=="},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEQCIFLxDvFCOOQSNZ2SoBDoUTTz1lFACZ8ngSRP4rVKX0CWAiBredGMpjqFZ8owvF6Tno7x4+y8W4a/AxxTnfLSI9Zt5w==",
"data": "jkWrskbtAeCNHo2r4wDQZSaijLoqIYcuk0MptPgIVcDk6hXf+/dZJA5EwWFhc8yt"},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEUCIQCom7sYOvW9H4iaMtPtOtp4FAnjVjY+fGCnUFqSMTS/YgIgDnEMEIadIFNvgpdVKBN0i7V1Kd/IPNoOrzVsi506DYk=",
"data": "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"},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEUCIQCMWDXqtNOkCEexVRAIj8eVinYeXrPCkAlnY2CHt9/C+gIgEL9Z5w2kxtI1WJQ+BdOe62g6EDDXgkUlr+4MZBbcAsY=",
"data": "9+uc1EBcCukzRMrwyeWeEcddodo4TyKNemyG4rB8ANA="},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEYCIQDRVVsFGp2kBil1A3JUoTcRSVpt/GhjvLLtNPTWLiZwpQIhALQKUEvqju33R+pIRfOxHMdqI4YuriUxLBOJs0GBcy9v",
"data": "Nr+YgYFob+ZZyXugj2ktD9UnS2dKWc2P7JQ5dfXWmwNGkvmnPvHgNODOHbSTH8RLGSDHFtk6+F7hjBRoB4mlzAkQ3LqPLWKScHwxf+EbkTwnEXlUfKMB/Mq3J26RywEq"},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEUCIQChWqEBhGXxdaD35a06B/6X5Oj2z76qyHv/360fvzuOWgIgAguLnr4Wqp6giweEmkL2jn+wjmQi07uwcQD6oyPZaug=",
"data": "9X6XMRhpAsFqquKKjF+Ov5snPvjXMV9WQdEw629uJ8W7Um0MDXd2OOSB/gGAmJlKbq6nwwZGe4q4Hguc8KiklRU7ukxAmf1Aqkdqmb4GNZA8hVfYZe32LXvrJfCTwip+o3UdSZKF1+8FybQ30Ca0YX65dcP8Tu8zGF4hMuTXlN6lQLZ5qYIZcsjjSa8lyaUZ/l2Y+VYpWfatfsOWO2l9FGuK56wj9YVhNe5WDGWvCgurboqZDjO7gv6nlSJdOPD4gwTYrQpo2kEuX9uSl1vGf1B8kgDRHJCM3ivEV0+OHgunUqWtNnMQyQzlbLG7JEH79as8KP679iJnf56BoOnZIAlHZxOLKnWAaxIZxHcz2M6rJZd6GTnmY8UVvannpE2djcsUcfa+eaf0uRQAFm3J5OHR9zn7iarAsDTr7W9DQ6W1yqv5n5pQQICZwGkKJeA/0iI5U4Pcx1Xg/8VyXBxgWDRudnQJS6QPB10sBXlIDRDHL1sctNcaAyyUDfiX9FAQRbwmR2iUGJw87HXjqD7n0ujDLVJTLMjrWwH5JuuB59ptfhgPrvTgLTr/5Da1/THPox8UqDr57PQ3tN0of+Kz/TfoRahMZ0rbFU0Qd4Km1fBpFP/Tgstfd+3Tptz4S8eUd3hLy7ZXPSICb4CtrUf4m9/cuf88yBjebntptUxMfONbupC5awmZ72C+f+m5EWi3IUbRCQLtk2AzWcBz0peTYpQClywS7FczSBWW9okLCntJb6Hs9bfzjHOhDyW7b5vG"},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEQCIHaFWMAXrqmg0u1mJvV1BluSP7DmrSwTAMcE4HnZaaMlAiBmC8ZSY9x0oxdM3NPeQd9o0x8nJ9eogNaywI04ivH1fg==",
"data": "Aj9HShOOSd4OEZpb5d3WF+gS182WGqhN7LJmOmLT2Pon0lfa3Q+zy9YFDT8XWU5pVybZKm8tM0NujzBcdllWZI/4kUM/929xcEvo/QtuTg9dCd6/0aAtjTIUzCy8481ldGlEHXHm+vps+mPk16OMmvAU4zsQC7n9OkiO5OBzlvxFw1i67CWLJkCFTZ0LBXr2HMInL/sNiLfjMMDvJjFl1npVQCkXe5l5rUogcoYBYDwT+sOpMynw4I8320d96reXa46/WGLgO8nmBeR7H84wyObuCdWQeVzovGPqaDB0smwLb6/0M8MSFbUO4W+FVrNInnewebf2RYLYmXF0AKrrh9Jan5nhg5zYmjsC12DDUBYzYdpnrjhfn4YtoFLbWADwxZArSiayYU7mPWHMGZn+258eRvW91S+ic/VxsavTS3A="},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEQCIHVccOp1K22Nzfwu2ovliP0S+LJPQi3RaUE3ApRsQ7P+AiAcxdS+hOaMcdi88Vw5c5YGDmhxpmIRcQcIoqPHO2EDHg==",
"data": "0UThSPRR5jxiS268vuPSrjksBao1e7Ez+tXIKIZm1i+WMJcfMwi6V30BK2xTN4H+Ti+GXdF9cQcPCr740eeg+Y1DTAZ/RUN2thkZ0Q25a/A="},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEYCIQCD+/oziIFIFvAvQ16S5zBDOgtnIi996awJZ72YiZSICwIhAOWIuG/c49I8IopOh+uPMp1JOY8e9Lf3LFiTmmoWllF7",
"data": "iFhez0JCYfbQPHLsgul2Cg=="},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEUCIBYNnAalnTC8OyLFyLNgsMeT5oXqr7p0rVxzHaD/LwvFAiEA+UsphUfYAwnNwzBYcUgB2oO0iH2amtqAwvPVvVXs07s=",
"data": "obT4Tzo3FOpItQ+p6pE0xcVIsCZ4SceOeleP+90rufQ="},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEUCIQCznqIwSXeOIPyOxQijO7utkx3ab/ug31uY4ZMU6WuLxAIgGagy6vQxiRNCFvxG2QOcioktYS+PFXnBi23kSkQlu88=",
"data": "JTwi6teO6gZ6kjAExT6Y5SBZ8SuIQlZzh86qlIm6j9WPYgjR01LgvsbZ/iuXlOiC"},
{
"pub": "MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERzo9aQllZGJIDFS8MslXu8fIWa0FGQpFMT85OJTgqcgaj9l10Pwr+yMZPz2jDYVVShulySOMbbLw7dFtpLYozQ==",
"sig": "MEYCIQC8drheTIIsdp++7Y4RWBLB841DIXRArthgjm44PF0VhQIhANYI3i7VtNhwHgVPLlQgWOB6vnng/bzvOJ4K+lwovFq/",
"data": "mIWvQYCDSmur0OlhMuEGvw=="}
]

for msg_json in msg_json_list:
msg_json["pub"] = public_key_from_der(base64.b64decode(msg_json["pub"]))
msg_json["pub"] = [hex(msg_json["pub"].public_numbers().x), hex(msg_json["pub"].public_numbers().y)]
msg_json["sig"] = signature_from_der(base64.b64decode(msg_json["sig"]))
msg_json["sig"] = [hex(i) for i in msg_json["sig"]]
print(f"{msg_json['sig'][0]}, {msg_json['sig'][1]}, {hex(int(hashlib.sha256(msg_json['data'].encode()).hexdigest(), 16))}")

image-20240527222042241

果然发现两条签名解出来的 r 是一样的,说明这两次签名使用了相同的随机数 NONCE

我们根据这两个 json 就能把私钥解出来了

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
33
34
def inverse_mod( a, m ):
"""Inverse of a mod m."""
if a < 0 or m <= a: a = a % m
c, d = a, m
uc, vc, ud, vd = 1, 0, 0, 1
while c != 0:
q, c, d = divmod( d, c ) + ( c, )
uc, vc, ud, vd = ud - q*uc, vd - q*vc, uc, vc

assert d == 1
if ud > 0: return ud
else: return ud + m


def derivate_privkey(p, r, s1, s2, z1, z2):
z = z1 - z2
s = s1 - s2
r_inv = inverse_mod(r, p)
s_inv = inverse_mod(s, p)
k = (z * s_inv) % p
d = (r_inv * (s1 * k - z1)) % p
return d, k

z1 = 0x3460aee9dde6a2b1a095fe9e8b50e0d787f021aa5d08c541d768eab71a58075d
s1 = 0x3fbdf5c3d801255e66fa66cb7b52d98572ba6a8870f5356561abc992d50ecc51
r = 0x52f10ef14238e412359d92a010e85134f3d65140099f2781244fe2b54a5f4096
z2 = 0x839dbd7e4d6273cfcf2992924211fdf2b5064d34380480c0880b40a9f8c22428
s2 = 0x6b79d18ca63a8567ca30bc5e939e8ef1e3ecbc5b86bf031c539df2d223d66de7

p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141

print("privatekey:%x\nk:%x" % derivate_privkey(p,r,s1,s2,z1,z2))

# privatekey:56ea7e6c0cecefbd027d1a2b4bfd6f1c34777e79bf06aef1fef8f9ef9294c553

联想到后端的 enc 函数,key 和 iv 指向的是同一个地方,这个privatekey是 32 位的,应该前16位是 key,后 16 位是 iv,我们对每个 json 的data进行base+AES 解密就能得到 flag{59248e0b-9626-4c83-84ed-bbb910e7d585}

easy-wasm

wasm 调试

在根目录运行 python -m http.server 8080 开启服务,然后用chrome浏览器打开localhost:8080即可,再打开控制台即可

打开会有一个反调试,根据这篇文章过反调试 ,这里选择条件断点把dubugger赋值成false去除反调试。

image-20240712230918730

index.html中修改如下代码:

1
2
3
const go = new Go();
WebAssembly.instantiateStreaming(fetch("static/main.wasm"), go.importObject)
.then((result) => go.run(result.instance));

变成

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
const go = new Go();
WebAssembly.instantiateStreaming(fetch("static/main.wasm"), go.importObject)
.then(function (result) {
document.getElementById("flag").value = "flag{this_1s_fake_f_l__Ag}";
go.run(result.instance);
wasm = result.instance.exports;
memories = [wasm.mem];
viewDWORD = (addr) =>{
const arr = new Uint32Array(memories[0].buffer.slice(addr, addr + 16));
return arr;
};
viewChar = (addr, size = 16) =>{
const arr = new Uint8Array(memories[0].buffer.slice(addr, addr + size));
return String.fromCharCode.apply(null, arr);
};
viewHEX = (addr, size = 16) =>{
const arr = new Uint8Array(memories[0].buffer.slice(addr, addr + size));
return (Array.from(arr, x =>x.toString(16).padStart(2, '0')).join(' '));
};
viewHexCode = (addr, size = 16) =>{
const arr = new Uint8Array(memories[0].buffer.slice(addr, addr + size));
return (Array.from(arr, x =>'0x' + x.toString(16).padStart(2, '0')).join(', '));
};
dumpMemory = (addr, size = 16) =>{
const arr = new Uint8Array(memories[0].buffer.slice(addr, addr + size));
return arr;
};
viewString = (addr, size = 16) =>{
const arr = new Uint8Array(memories[0].buffer.slice(addr, addr + size));
let max = size;
for (let i = 0; i < size; i++) {
if (arr[i] === 0) {
max = i;
break;
}
}
return String.fromCharCode.apply(null, arr.slice(0, max));
};
search = function(stirng) {
const m = new Uint8Array(memories[0].buffer);
// vid=35402, 9AAizQZJ
// vid=20268, a3fMpSkB
const k = Array.from(stirng, x =>x.charCodeAt());

const match = (j) =>{
return k.every((b, i) =>m[i + j] === b);
};
const max = Math.min(10_000_000, m.byteLength || m.length);
for (let i = 0; i < max; i++) {
if (match(i)) {
console.info(i);
}
}
console.info('done');
}
} );

这样我们就可以在调试wasm的时候查看每个var保存的addr对应的内存是啥了。

加密流程

先看 index.html,主要看里面内嵌的js代码,先执行了wasm,导入了go.importObject,然后有一个 check_flag 函数,是出题人给的一个提示,这个gift函数经过调试比对是一个 RC4 加密,估计是出题人也觉得顶着OLLVM调WASM过于出生,所以告诉我们这个题只有 RC4 加密。

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
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<script src="static/wasm_exec.js"></script>
<script>
const go = new Go();
WebAssembly.instantiateStreaming(fetch("static/main.wasm"), go.importObject)
.then((result) => go.run(result.instance));

function check_flag() {
var flag = document.getElementById("flag").value;
console.log("你输入的 flag 是:");
console.log(flag);
if (document.getElementById("flag").value === "flag{this_1s_fake_f_l_A__g}") {
console.log("I have a gift for you!");
console.log(console.gift("ABCCDDEE", "AABBCCDDEE"));
alert("恭喜你,答对了!我想你应该知道 flag 是什么了 !");
} else {
alert("答错了,再想想吧!");
}
}
</script>

<body>
<input id="flag" type="text" />
<button id="btn" onclick="check_flag();" >Click</button>
</body>
</html>

再审一下js,通过chatGPT找到关键代码,有一个valueCall函数,负责函数调用,函数名称为const m = Reflect.get(v, loadString(sp + 16));,我们可以在该处下条件断点,console.log('calledFunc: ', loadString(sp + 16))打印 js 里的函数调用过程:

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
this.importObject = {
go: {
// Go's SP does not change as long as no Go code is running. Some operations (e.g. calls, getters and setters)
// may synchronously trigger a Go event handler. This makes Go code get executed in the middle of the imported
// function. A goroutine can switch to a new stack if the current stack is too small (see morestack function).
// This changes the SP, thus we have to update the SP used by the imported function.
//此处省略一堆函数
// func valueCall(v ref, m string, args []ref) (ref, bool)
"syscall/js.valueCall": (sp) => {
sp >>>= 0;
try {
const v = loadValue(sp + 8);
const m = Reflect.get(v, loadString(sp + 16));
const args = loadSliceOfValues(sp + 32);
const result = Reflect.apply(m, v, args);
sp = this._inst.exports.getsp() >>> 0; // see comment above
storeValue(sp + 56, result);
this.mem.setUint8(sp + 64, 1);
} catch (err) {
sp = this._inst.exports.getsp() >>> 0; // see comment above
storeValue(sp + 56, err);
this.mem.setUint8(sp + 64, 0);
}
},
//此处省略一堆函数
}
}

80d0462f48f861c5150a5944be2818a

使用 ghidra插件 分析wasm源码,上了 OLLVM 难看的一批,但是能找到 rc4 函数,没有去符号,以及一些其他关键函数

image-20240712232645931

分析二进制文件以及ghidra分析可以知道这是 golang 编译成的wasm,入口是 main.main,由于在浏览器环境中,内存管理是由JavaScript引擎自动处理的,通常使用内置的内存管理机制,例如垃圾回收器(Garbage Collector),所以根本不会有 malloc这种函数存在,因此这些函数其实是出题人自己写的,而且通过前面的调试我们会发现函数后面都会附带一下 emoji 表情,也是为了提醒这一点,我们先对rc4进行分析,发现是由 main.realloc.func1 -> main.malloc -> rc4 的栈帧,我们在每个 rc4 加密的地方下断点,发现运行了 5 次,前面 4 次是主加密流程调用的,最后一次是 gift 调用的,也就是说加密流程就是连着 4 次 rc4。

接下来要找 key 和 cipher 了。

密钥

找一个地方dump key

    iVar4 = runtime.makeslice(0,*puVar2,*(ulonglong *)register0x00000008,
                              *(ulonglong *)((int)register0x00000008 + 8),
                              *(ulonglong *)((int)register0x00000008 + 0x20),
                              *(ulonglong *)((int)register0x00000008 + 0x28),
                              *(ulonglong *)((int)register0x00000008 + 0x30));

找一个 256 位循环外面的地方,比如这个 makeslice函数调用的地方,下条件断点 console.log(viewHEX(Number($var1.value), 100)),可能不一定是 var1,只能说看哪个 addr 感觉有值就试一下,发现这玩意就是密钥。

    iVar4 = runtime.makeslice(0,*puVar2,*(ulonglong *)register0x00000008,
                              *(ulonglong *)((int)register0x00000008 + 8),
                              *(ulonglong *)((int)register0x00000008 + 0x20),
                              *(ulonglong *)((int)register0x00000008 + 0x28),
                              *(ulonglong *)((int)register0x00000008 + 0x30));

密文

可以在 func 栏中找到 memqbody 函数,在 eq 处下条件断点,通过调试也能发现在调用了 4 次 rc4 加密后,会在 malloc 处调用 memequal 函数,我们跟进去就是 memqbody 函数。

image-20240712234326067

image-20240712234647707

在 eq 处可以打印待比对的 addr 对应的值 console.log(viewChar(Number($var1.value), 600))

439a9e9b7f427e64041736d82ad4e0e

解密

最后把密文和每一轮的密钥 dump 出来解密即可,这里密文是 base64 编码后的,但是编码逻辑并没有找到,只能说连蒙带猜解出来的。

密文 NWFhMjE5MjFkZGE3ZDk1MTlhMDEyZjI4NWI5YjllNDk4ZjQ5NWZiNTIxZDQ3MTJiMDA3NWU0Nzk2MmJjMmVlZDdmZDg0MGNiYTJmMmFiNDg4NzVmZTczYTEyMmQ3YmM3MWE2ZWQ5OTBhMDc2MzE5NjJlNGFjZGUyNmFjYzJiMTEyM2NiNGQ0ZmVhMmE2MjExOWRmOTQwNjExMzk5YzA1ZmM2ZGRjMzcxZTFlODFiNjQ4NDIzZWYyYjRhZDVhMzg0NWI3ZjM3NmUwMDY3Y2QyNzExNmZiYjdkZmNlMDBjOWFhZDI1ODM1NmIwMGE3YTFlNGNhNjBjZTVkNDc1Mzg5OWJjMzFhOTE1MWQ3ZDc5ZTVlZmNhZGZlM2Q1YjZiMTFhOTYyOTE3NTM4OTg3Y2NjZDY1MTZiZTZjNGY5YTI0ZTBjMjhhYjRiNThiYzRjY2JmYmFmOGUzZjVlYjc5OWRjY2E1YmZkYmM3OTQzYWViNGQ2OWFkNDlmMTczZjE4N2QyNmFhZTE0ZGE1MTkwMTg3MWQxNWVhMGNiNzhlY2JiNjY=

4 次 rc4 密钥分别是

1
2
3
4
f09f8dbef09fa59bf09f8e81f09f8da9f09f8e89f09f8dadf09fa59bf09f8dbc
f09f8dacf09f8daaf09f8dbbf09f8daef09f8dbee29895f09f9885f09f8db0
f09f8dabf09f8daaf09f8db0f09f8daff09f8e8af09f8daaf09fa59bf09f8da9
f09f8daef09f8db6f09f8dbaf09f8db9f09f8e89f09f8dacf09f8dbaf09f8daf

image-20240712234838939