上篇文章知识简单的介绍一下“瑞士军刀”nc,下面就尝试做一些详细的讲解和演示:
1、使用nc打开并监测端口,执行端口接受到的Linux 命令。演示环境:windows wls2的linux子系统:ubuntu。左边终端执行 nc -l -p 8000 |bash -k -v;监听端口8000并且打开一个bash子进程;右边终端发送ls -l命令;左边终端顺利执行命令、显示结果。
3、聊天(ctrl+c退出)
4、扫描端口
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!
关卡提示:
可以通过使用SSL加密将当前级别的密码提交到localhost上的端口30001来检索下一级别的密码。
推荐命令:
ssh, telnet, nc, openssl, s_client, nmap
SSL(安全套接层)连接是一种安全协议,用于在网络上传输数据时提供数据加密和身份验证功能。通过使用SSL连接,可以确保数据在传输过程中被加密,并且只有预期的接收者才能解密和读取数据。此外,SSL连接还可以验证服务器的身份,以确保与正确的服务器建立连接,而不是被中间人攻击者拦截。
在SSL连接中,客户端和服务器之间需要进行双向身份验证,以及协商加密算法和密钥交换等参数。一旦连接建立,客户端和服务器就可以使用加密算法对数据进行加密和解密,以确保数据的机密性和完整性。
SSL连接广泛应用于互联网上的各种应用程序,如Web浏览器、电子邮件、在线银行和其他需要高度安全性的数据传输场景。许多应用程序和协议都支持通过SSL连接来保护数据的传输,例如HTTP over SSL(HTTPS)、POP over SSL(POPS)和IMAP over SSL(IMAPS)等。
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 的主命令行工具,可以用于执行各种加密操作和证书管理任务。
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的通信工具,主要用于与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选项指定加密方法等。
开始解题:
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:~$