2020 juni examen - versie 2
Examen Juni 2020
Dit examen was tijdens de corona periode. Labo en theorie waren dus samen gevoegd.
Voor theorie: zie het bestande THEORIE.md
Dank aan: Pablopicasso en ISW
cn2_examen_juni2020.zip is gewoon een kopie van de Toledo website op dat moment,
Labo
Instructies
Het examen is gesloten boek, je mag enkel gebruik maken van onderstaande hulpmiddelen:
-
pcre handleiding + Linux comand line cheat sheet. Zie dat je een lokale kopie hebt op je laptop (of op papier) voor aanvang van het examen, tijdens het examen is toegang tot de wiki verboden.
-
ssh sessie naar server leia.uclllabs.be.
Antwoorden bestaan steeds uit een enkele ‘oneliner’, net zoals in de geziene labo’s en het voorbeeldexamen. Je mag commando’s aan elkaar lijmen met unnamed pipes ( | symbool), maar &&, || en ; mogen enkel gebruikt worden wanneer dit echt noodzakelijk is (bijvoorbeeld voor de syntax van een for-loop).
Let op: Bij sommige opdrachten staat er vermeld welke commando's je (niet) mag gebruiken.
Veel succes!
Vraag 1 (voorbeeld): 0 punten
Dit is een voorbeeld vraag, inclusief het correcte antwoord. Bekijk ze goed, zodat je weet wat er exact verwacht wordt.
Maak een CLI oneliner die de directory permissies, eigenaar, groep,... (via ls -l) oplijst van de /etc directory zelf (niet van de inhoud) op server leia.
Daarna pipe je de output van je CLI oneliner in het commando md5sum. In het antwoordveld vul je beide in op deze manier:
ONELINER - md5 hash
Oplossing:
# Met deze onliner kan je de permissies,... opvragen van de /etc directory zelf:
ls -ld /etc
# En zo pipe je de output van deze oneliner in md5sum:
ls -ld /etc | md5sum
# En dit vul je in in het antwoordveld:
ls -ld /etc - 69ede2180c67f4a59fea0206e031101f
Vraag 2: 10 punten
Het bestand Cnw2_ftp.pcap bevat een opgenomen FTP sessie. Je kan dit bestand vinden in /home/logs op server leia.
Maak een CLI oneliner met tshark die de gebruikersnaam toont van de gebruiker die succesvol inlogde. Enkel de gebruikersnaam mag getoond worden. Dus geen witregels, geen errors, geen andere tekst.
In je oneliner mag je enkel gebruik maken van het commando tshark. Geen enkel ander commando is toegestaan. Je mag wel gebruik maken van Wireshark als hulpmiddel om de juiste display filter ('s) te vinden.
Oplossing
tshark -r /home/logs/Cnw2_ftp.pcap -Y "ftp.request.command==USER && tcp.srcport==$(tshark -r /home/logs/Cnw2_ftp.pcap -Y "ftp.response.code==230" -T fields -e tcp.dstport)" -T fields -e ftp.request.arg
# Deze kan ook maar is waarschijnlijk niet altijd juist
tshark -r /home/logs/Cnw2_ftp.pcap -Y 'ftp.request.command==USER' -T fields -e 'ftp.request.arg' | sort | head -1
Vraag 3: 10 punten
Maak een CLI oneliner met openssl die het certificaat van de server wiki.uclllabs.be als tekst laat zien. Enkel dit mag getoond worden. Sample output:
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
0d:81:12:b8:1c:24:0c:f3:0d:46:af:cd:9a:9b:96:d2
Signature Algorithm: sha256WithRSAEncryption
Issuer: C = NL, ST = Noord-Holland, L = Amsterdam, O = TERENA, CN = TERENA SSL CA 3
Validity
Not Before: Jan 22 00:00:00 2020 GMT
Not After : Jan 26 12:00:00 2022 GMT
Subject: C = BE, L = Leuven, O = UC Leuven, CN = *.uclllabs.be
Subject Public Key Info:
Public Key Algorithm: id-ecPublicKey
Public-Key: (384 bit)
pub:
04:f5:46:f9:2c:94:f0:86:bd:6f:59:32:7c:4d:82:
06:da:d7:87:38:cb:74:98:6d:66:c0:4c:ca:f4:9e:
1f:5a:22:25:43:11:07:d4:86:1d:68:92:82:d3:eb:
4a:a5:bd:fb:4a:46:84:86:ed:40:be:92:7d:f1:f2:
56:3b:2b:9f:eb:84:33:59:0d:62:ef:8d:68:ac:4d:
d2:76:84:8c:69:93:47:cc:09:a2:2d:19:9d:ba:c6:
e7:e8:03:01:7d:df:44
ASN1 OID: secp384r1
NIST CURVE: P-384
X509v3 extensions:
X509v3 Authority Key Identifier:
keyid:67:FD:88:20:14:27:98:C7:09:D2:25:19:BB:E9:51:11:63:75:50:62
X509v3 Subject Key Identifier:
1B:19:0F:9E:AE:E4:39:61:82:08:79:0C:06:42:75:4A:EE:86:BF:6C
X509v3 Subject Alternative Name:
DNS:*.uclllabs.be, DNS:uclllabs.be
X509v3 Key Usage: critical
Digital Signature
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
X509v3 CRL Distribution Points:
Full Name:
URI:http://crl3.digicert.com/TERENASSLCA3.crl
Full Name:
URI:http://crl4.digicert.com/TERENASSLCA3.crl
X509v3 Certificate Policies:
Policy: 2.16.840.1.114412.1.1
CPS: https://www.digicert.com/CPS
Policy: 2.23.140.1.2.2
Authority Information Access:
OCSP - URI:http://ocsp.digicert.com
CA Issuers - URI:http://cacerts.digicert.com/TERENASSLCA3.crt
X509v3 Basic Constraints: critical
CA:FALSE
CT Precertificate SCTs:
Signed Certificate Timestamp:
Version : v1 (0x0)
Log ID : A4:B9:09:90:B4:18:58:14:87:BB:13:A2:CC:67:70:0A:
3C:35:98:04:F9:1B:DF:B8:E3:77:CD:0E:C8:0D:DC:10
Timestamp : Jan 22 11:03:02.541 2020 GMT
Extensions: none
Signature : ecdsa-with-SHA256
30:44:02:20:5B:C2:BD:AA:16:4F:D8:18:42:10:D7:48:
9D:37:37:0B:4D:D6:65:65:F1:BF:08:A4:8D:B4:81:31:
02:BF:15:06:02:20:0D:DB:02:07:86:E1:2B:C0:24:04:
BE:42:FC:13:5E:77:D5:BF:E9:4B:53:0D:F1:6D:5E:78:
51:0A:3F:E4:26:31
Signed Certificate Timestamp:
Version : v1 (0x0)
Log ID : 87:75:BF:E7:59:7C:F8:8C:43:99:5F:BD:F3:6E:FF:56:
8D:47:56:36:FF:4A:B5:60:C1:B4:EA:FF:5E:A0:83:0F
Timestamp : Jan 22 11:03:02.760 2020 GMT
Extensions: none
Signature : ecdsa-with-SHA256
30:46:02:21:00:FF:25:60:84:19:69:76:91:D6:8E:C5:
54:ED:7C:D4:40:9F:9B:14:99:2F:22:89:F0:0A:3F:9E:
3F:15:98:A3:66:02:21:00:92:05:A1:8D:F3:06:A8:DD:
92:E2:86:83:54:C1:BC:F9:5F:03:2E:62:F9:DA:5A:17:
2D:F8:D1:E6:5B:A2:78:6A
Signed Certificate Timestamp:
Version : v1 (0x0)
Log ID : EE:4B:BD:B7:75:CE:60:BA:E1:42:69:1F:AB:E1:9E:66:
A3:0F:7E:5F:B0:72:D8:83:00:C4:7B:89:7A:A8:FD:CB
Timestamp : Jan 22 11:03:02.616 2020 GMT
Extensions: none
Signature : ecdsa-with-SHA256
30:44:02:20:7E:42:D6:3A:55:8B:7B:5A:1E:E0:05:48:
09:80:89:E5:A5:7A:FD:8C:5F:EE:AB:2E:7E:D1:07:A0:
C2:B4:63:EA:02:20:3A:12:1E:14:28:50:F7:8D:C3:73:
EA:9E:6C:AB:5D:B4:A8:AE:27:4C:D1:40:18:23:80:1E:
F3:87:B8:A8:98:71
Signature Algorithm: sha256WithRSAEncryption
7b:8b:b1:71:c4:73:c9:1f:30:d9:74:ea:b0:e9:a3:a7:a0:7b:
23:a3:24:cf:e4:c4:f3:8f:82:47:15:4a:e7:4a:05:da:57:0a:
89:db:90:50:62:0f:a8:95:47:5a:22:eb:5b:2f:a3:fd:31:d0:
b5:b1:86:02:a1:91:87:65:42:70:ea:fc:49:79:ea:2c:13:fb:
b0:4e:a5:15:ab:80:82:9d:c9:82:e9:da:9e:bb:81:8a:f0:65:
eb:ef:73:1c:e4:e2:69:ce:06:fc:38:92:fc:7a:06:72:ae:c7:
7e:37:37:21:b9:71:52:93:ed:18:b4:5d:91:9c:95:48:62:d6:
ed:ab:3a:db:1d:22:ed:01:de:7d:56:58:f3:0a:7a:49:4c:cb:
8b:73:b9:5f:83:f8:c4:b3:1a:ec:54:52:b9:83:ae:db:f7:0b:
b2:cb:76:d0:99:19:e9:26:f9:c2:12:5d:ec:ea:0b:e3:f4:28:
8a:da:c2:f5:b3:76:a4:03:c7:02:da:d0:44:a8:7a:6b:19:a0:
99:99:f4:e8:e9:6b:ab:2e:ce:c8:5f:31:bb:e9:bb:52:35:61:
ed:5a:22:fa:1c:ed:d0:4c:fe:83:8d:78:8a:43:79:fa:a3:38:
5b:c2:f0:6e:b5:13:8e:28:fc:c7:f4:2c:a1:fe:79:b4:5a:68:
fa:41:d5:a3
Oplossing
echo | openssl s_client -connect wiki.uclllabs.be:443 2>/dev/null | openssl x509 -noout -text
Vraag 4: 10 punten
Met welke CLI oneliner kan je volgende string decoderen?
RGUgcHVudGVuIG9wIGRlemUgdnJhYWcgemlqbiBhbCBiaW5uZW4uCg==
Je kan deze string ook terugvinden in het bestand /home/logs/secret op server leia. Je mag enkel gebruik maken van het commando openssl. Geen andere commando's zijn toegestaan.
Oplossing
openssl base64 -d -in /home/logs/secret
# Of een andere oplossing:
cat /home/logs/secret | openssl base64 -d
# Of een andere oplossing:
echo "RGUgcHVudGVuIG9wIGRlemUgdnJhYWcgemlqbiBhbCBiaW5uZW4uCg==" | openssl base64 -d
Dit is ook mogelijk maar is volgende de vraag fout, je moet openssl gebruiken.
cat /home/logs/secret | base64 -d
# Of
base64 -d /home/logs/secret