Wargames与bash知识08

Wargames与bash知识08

上篇文章知识简单的介绍一下"瑞士军刀"nc,下面就尝试做一些详细的讲解和演示:

1、使用nc打开并监测端口,执行端口接受到的Linux 命令。演示环境:windows wls2的linux子系统:ubuntu。左边终端执行 nc -l -p 8000 |bash -k -v;监听端口8000并且打开一个bash子进程;右边终端发送ls -l命令;左边终端顺利执行命令、显示结果。

2、传送文件:

3、聊天(ctrl+c退出)

4、扫描端口

bash 复制代码
gyj@guyanjun:~/nc$ nc -v -z 192.168.0.102 22
Connection to 192.168.0.102 22 port [tcp/ssh] succeeded!

gyj@guyanjun:~/nc$ nc -v -z bandit.labs.overthewire.org  2220
Connection to bandit.labs.overthewire.org 2220 port [tcp/*] succeeded!

Bandit Level 15

关卡提示:

可以通过使用SSL加密将当前级别的密码提交到localhost上的端口30001来检索下一级别的密码。

推荐命令:

ssh, telnet, nc, openssl, s_client, nmap

SSL

SSL(安全套接层)连接是一种安全协议,用于在网络上传输数据时提供数据加密和身份验证功能。通过使用SSL连接,可以确保数据在传输过程中被加密,并且只有预期的接收者才能解密和读取数据。此外,SSL连接还可以验证服务器的身份,以确保与正确的服务器建立连接,而不是被中间人攻击者拦截。

在SSL连接中,客户端和服务器之间需要进行双向身份验证,以及协商加密算法和密钥交换等参数。一旦连接建立,客户端和服务器就可以使用加密算法对数据进行加密和解密,以确保数据的机密性和完整性。

SSL连接广泛应用于互联网上的各种应用程序,如Web浏览器、电子邮件、在线银行和其他需要高度安全性的数据传输场景。许多应用程序和协议都支持通过SSL连接来保护数据的传输,例如HTTP over SSL(HTTPS)、POP over SSL(POPS)和IMAP over SSL(IMAPS)等。

OpenSSL

OpenSSL 是一个强大的安全套接层(SSL)和传输层安全(TLS)协议的开源实现,它支持多种加密算法,包括对称加密、非对称加密和哈希算法等。OpenSSL 提供了一系列的工具和库,用于创建和管理证书、生成密钥、测试SSL/TLS服务器和客户端等。

OpenSSL 的主要功能包括:

SSL/TLS 协议的实现:OpenSSL 支持 SSLv2、SSLv3 和 TLSv1.0、TLSv1.1、TLSv1.2 等版本的 SSL/TLS 协议,并提供了相关的工具和库,用于实现安全的通信。

证书管理:OpenSSL 提供了证书的生成、颁发、吊销和验证等功能,可以用于创建自签名证书或由权威证书颁发机构(CA)签发的证书。

密钥管理:OpenSSL 支持生成和管理各种加密算法的密钥,包括对称密钥和非对称密钥。

加密算法:OpenSSL 支持多种加密算法,包括对称加密算法(如AES、DES、3DES等)、非对称加密算法(如RSA、DSA等)和哈希算法(如SHA-1、SHA-256等)。

工具集:OpenSSL 提供了一系列命令行工具,用于测试SSL/TLS服务器和客户端、查看证书信息、生成密钥等操作。

OpenSSL 工具集

openssl:这是 OpenSSL 的主命令行工具,可以用于执行各种加密操作和证书管理任务。

genrsa:用于生成 RSA 私钥的工具。

rsa:用于管理 RSA 密钥的工具,可以用于生成密钥对、加密和解密数据等操作。

gendsa:用于生成 DSA 私钥的工具。

dsa:用于管理 DSA 密钥的工具,可以用于生成密钥对、签名和验签等操作。

genec:用于生成 EC(Elliptic Curve)私钥的工具。

ec:用于管理 EC 密钥的工具,可以用于生成密钥对、签名和验签等操作。

req:用于创建和管理证书请求的工具,可以用于生成证书请求、自签名证书等操作。

x509:用于管理证书的工具,可以用于证书的签名、验证和撤销等操作。

ca:用于证书颁发工具,可以用于签发证书、管理证书链等操作。

crl:用于管理证书撤销列表(CRL)的工具,可以用于生成 CRL、查看 CRL 等操作。

s_server:一个 SSL/TLS 服务器测试工具,可以用于测试服务器的功能和安全性。

s_client:一个 SSL/TLS 客户端测试工具,可以用于测试客户端的功能和安全性。

openssl s_client

openssl s_client是一款基于OpenSSL的通信工具,主要用于与SSL/TLS服务器建立SSL/TLS连接。它不仅可以与s_server进行通信,还可以与任何使用SSL协议的其他服务程序进行通信。

使用openssl s_client可以建立SSL连接,发送HTTP请求,进行邮件发送和FTP数据传输等操作。它支持多种协议,如SSL、TLS等。要使用openssl s_client建立SSL连接,需要提供服务器地址和端口号,以及证书、私钥等信息来确保连接的安全性。

openssl s_client还提供了丰富的选项,可以根据需要进行配置。例如,可以使用-host和-port选项指定服务器地址和端口号,使用-cert和-key选项指定客户端证书和私钥,使用-CAfile选项指定根证书,使用-cipher选项指定加密方法等。

bash 复制代码
开始解题:
bash 复制代码
bandit15@bandit:~$  openssl s_client -connect localhost:30001
CONNECTED(00000003)
Can't use SSL_get_servername
depth=0 CN = localhost
verify error:num=18:self-signed certificate
verify return:1
depth=0 CN = localhost
verify error:num=10:certificate has expired
notAfter=Dec 31 16:51:29 2023 GMT
verify return:1
depth=0 CN = localhost
notAfter=Dec 31 16:51:29 2023 GMT
verify return:1
---
Certificate chain
 0 s:CN = localhost
   i:CN = localhost
   a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA1
   v:NotBefore: Dec 31 16:50:29 2023 GMT; NotAfter: Dec 31 16:51:29 2023 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDCzCCAfOgAwIBAgIEd2zsFjANBgkqhkiG9w0BAQUFADAUMRIwEAYDVQQDDAls
b2NhbGhvc3QwHhcNMjMxMjMxMTY1MDI5WhcNMjMxMjMxMTY1MTI5WjAUMRIwEAYD
VQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
I/3T3+5jb1P6JKLTAiKno5vP4XblDAMrz5DXYPPp2xMChk9qt/gJIk0DFqqBAaMT
NdeQAwbOE7p/vFUYr2VK/lRLD1hwPYvUWDcnaM54POA5DZWtsxkNmlf8TsV+CJbq
Wy/HF7wGxCIJTU85/BCAvjztaB6GiwNF1tK67gY3OMi17Y/OZcup5OlfsOc2Z1K8
JQTxUpLL+dKctD0MPm5wyRG3k7Er4nE+Ww+wQl+tvibxYdmI8ln5p7R302bFbMny
tYrEMwcMnXiZ/as2lC918s+mkMDF2N29vdc2z+yh8nxpbvB9Wnm8caWnz8Bgzlhm
Uf6Dr1X/OW9Sqr52CoafAgMBAAGjZTBjMBQGA1UdEQQNMAuCCWxvY2FsaG9zdDBL
BglghkgBhvhCAQ0EPhY8QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgTmNhdC4g
U2VlIGh0dHBzOi8vbm1hcC5vcmcvbmNhdC8uMA0GCSqGSIb3DQEBBQUAA4IBAQAD
Axuf0o+lYLoAwbYBQ9u4TQGXVDP8THKIGvLA5YoQ66WTS+Yqz6UyU2KKWIXIJOPg
3m4pjssfW61KbE76ALqGNoXqX3/3zhhFEOxeKdu7oto54xeC9E6pLF+VRkOLBsER
vkVV04gIHvW6bJPJcqroW/hpkj8gFErOcKnV5Q+XWdjFs7mFNzMQWEViaU4Tv8Vb
VHvFd1H7QVO5jTqDeReKa1EX1TKhsFN5ZdeGFNW4lGMOMagretF0SggYQ/jXxTQq
ZlE48UQ2UjPmJ2Q93A7Zz9Q79SzdoxjAysD/z7r1V8cRM8XsUUt4EQsc/LcISu/5
shdDpgGChFBkzNY/2zYw
-----END CERTIFICATE-----
subject=CN = localhost
issuer=CN = localhost
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 1339 bytes and written 373 bytes
Verification error: certificate has expired
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 10 (certificate has expired)
---
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: 4252E1925AECB001B5DBA53691869A0AD364E0A6E3609D77D1901E5CF1D69521
    Session-ID-ctx:
    Resumption PSK: 2F5649CB053E7C625D1CC2A85A15F160AD15D33DD6C8D5A395D795A044BFD75AD8DA0E23036CB4EE2895C616C90AE58E
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - 35 fa 11 f4 72 e4 41 40-5c 24 4b 0a 01 db d5 57   5...r.A@\$K....W
    0010 - 9e a5 5d e7 bf f6 b8 5d-77 46 b8 b1 09 81 c6 35   ..]....]wF.....5
    0020 - 59 71 3d 4b 4f df 2d 83-28 88 87 97 e5 c5 9d 15   Yq=KO.-.(.......
    0030 - 5b 7b f7 b0 eb d6 97 a7-53 c7 fa 17 9e fe bd 3e   [{......S......>
    0040 - d1 f8 90 b9 b8 67 1e 7e-3b 8f 50 8e 82 a7 e2 a0   .....g.~;.P.....
    0050 - 59 fb 16 f6 82 59 97 5f-86 19 6d 35 46 ac 68 b9   Y....Y._..m5F.h.
    0060 - cd 54 b7 f9 00 8d e0 d4-de a6 a8 f7 81 ff 54 97   .T............T.
    0070 - 2b 01 56 4e ea 6c 13 b3-eb e0 81 8d ce e2 64 6f   +.VN.l........do
    0080 - 74 0c 53 80 f2 83 ab 4c-f1 39 77 21 8c 73 43 87   t.S....L.9w!.sC.
    0090 - bd cf 8a 9c 7f dc a7 b0-1b 85 14 96 00 9d 98 80   ................
    00a0 - 08 12 0a 0f 60 5a 5e 70-88 bb 2b 19 58 ba 92 eb   ....`Z^p..+.X...
    00b0 - ba ed 00 fc d8 be 0b 62-62 92 a3 77 c8 72 1c 7c   .......bb..w.r.|
    00c0 - 19 74 e7 9c 6f 7c dc 85-4c f1 7c 53 f0 89 41 58   .t..o|..L.|S..AX

    Start Time: 1704348319
    Timeout   : 7200 (sec)
    Verify return code: 10 (certificate has expired)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: 73598563AAB869F76092C65409051FD678B8430970D745166DF8E4D6CB33A1D8
    Session-ID-ctx:
    Resumption PSK: 7858520B0BEC95E546B9605DCED7C6B6B17DA52080497B8DD174C004B56293851F9D24819496881A3E513743BFD46AA2
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - 35 fa 11 f4 72 e4 41 40-5c 24 4b 0a 01 db d5 57   5...r.A@\$K....W
    0010 - b1 99 81 93 81 55 4e 18-ac 9c 8e 44 13 e4 37 10   .....UN....D..7.
    0020 - 8c 79 79 97 1a 64 36 8d-f1 72 4e 0f 35 8c 44 70   .yy..d6..rN.5.Dp
    0030 - 5d f8 ac 1a e4 8a 24 27-90 ca 8e 6d f4 5e 60 b7   ].....$'...m.^`.
    0040 - 36 59 c7 79 ca 34 15 69-ca fd 98 26 2f 36 8d e6   6Y.y.4.i...&/6..
    0050 - bc 39 99 74 8f 89 3d 50-3e 12 9d d3 f0 ec 51 8b   .9.t..=P>.....Q.
    0060 - e1 fd 31 c7 b6 58 22 c5-4a 83 75 04 83 24 a3 bc   ..1..X".J.u..$..
    0070 - 64 12 f2 96 1f ca e0 3e-eb 0a 56 61 92 2b 08 10   d......>..Va.+..
    0080 - ea a9 10 88 d8 c5 cb f9-18 2f b5 2e d2 26 bb 23   ........./...&.#
    0090 - a2 9e cf d3 65 f4 b3 85-cc 79 e5 6c c3 0a c7 c6   ....e....y.l....
    00a0 - 11 5d 97 53 d7 d2 e2 fb-78 9d 99 23 e5 14 6a a5   .].S....x..#..j.
    00b0 - c9 c9 03 0f b9 90 18 73-a3 84 17 da 91 d3 81 ad   .......s........
    00c0 - a0 a1 64 c7 1e a1 bc 55-cb c8 60 78 31 0f e3 88   ..d....U..`x1...

    Start Time: 1704348319
    Timeout   : 7200 (sec)
    Verify return code: 10 (certificate has expired)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
jN2kgmIXJ6fShzhT2avhotn4Zcka6tnt
Correct!
JQttfApK4SeyHwDlI9SXGR50qclOAil1

closed
bandit15@bandit:~$
相关推荐
Scott9999HH5 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
码智社6 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海6 小时前
python 列表、元组、集合和字典
开发语言·python
萧瑟余晖7 小时前
JDK 26 新特性详解
java·开发语言
马优晨8 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
人邮异步社区10 小时前
怎么把C语言学到精通?
c语言·开发语言
心平气和量大福大10 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai10 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
এ慕ོ冬℘゜11 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript
执明wa11 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio