질문 1. 포트 1000에서 실행 중인 서비스는 몇 개입니까?
sudo nmap -sS -sV -T4 -p 1-1000 <Target IP>
Nmap 명령을 사용하여 포트 1~1000에서 실행 중인 서비스를 검색합니다.
21/TCP(FTP)
80/TCP(HTTP)
이렇게 2개가 나오므로 정답으로 “2”를 입력
질문 2. 상위 포트에서 실행 중인 항목은 무엇입니까?
더 높은 포트 번호에서 실행되는 서비스를 요청합니다.
방금 1000을 스캔했으므로 이번에는 1001에서 3000까지 스캔합니다.
sudo nmap -sS -sV -T4 -p 1001-3000 <Target IP>
2222/TCP(SSH)
그런 다음 포트 2222에서 실행 중인 OpenSSH를 찾습니다.
정답으로 “ssh”를 입력하십시오.
질문 3. 애플리케이션에서 어떤 CVE를 사용합니까?
이제 공격하려는 대상의 CVE(Common Vulnerabilities and Exposure)를 입력해야 합니다.
OpenSSH 7.2p2와 같은 SSH 관련 CVE를 입력하려고 해도 정답으로 인식되지 않으므로 ssh 이외의 웹 서버에서 취약점을 검색하기로 합니다.
브라우저를 통해 대상 IP에 연결하려고 하면 Apache 서버가 열려 있습니다.
이제 라이브 홈 페이지의 경로를 찾기 위해 gobuster라는 도구를 사용하여 URI와 디렉터리를 스캔합니다.
gobuster 관련 명령 옵션은 아래에서 확인할 수 있습니다.
https://www.kali.org/tools/gobuster/
gobuster dir -u http://10.10.164.52 -w /usr/share/wordlists/dirb/common.txt -t 100
목차: 디렉터리/파일 열거 모드 활성화
-u: URL
-w: 사전 파일 경로
-t: 스레드 수(기본값 10)
/simple이 가장 확실하므로 브라우저로 바로 이동합니다.
실제/단순경로 페이지 화면입니다.
“CMS Made Simple” CMS(콘텐츠 관리 시스템)인 것 같습니다.
실제로 인터넷에서 오픈 소스로 공유되는 CMS입니다.
이제 실제 대상을 찾았다고 생각하므로 searchsploit을 사용하여 CVE를 찾기 위해 “cmd made simple”을 검색합니다.
관련 결과가 나왔습니다.
포함된 버전으로 검색할 수 있으므로 웹 사이트에서 CMS 버전을 찾으십시오.
페이지 하단에 2.2.8이 적혀있는 것을 찾는 것은 어렵지 않습니다.
searchsploit CMS Made Simple 2.2.8
단 하나의 결과
취약점에 대한 자세한 정보를 찾으려면 -p 옵션을 사용하십시오.
searchsploit -p php/webapps/46635.py
Exploit: CMS Made Simple < 2.2.10 - SQL Injection
URL: https://www.exploit-db.com/exploits/46635
Path: /usr/share/exploitdb/exploits/php/webapps/46635.py
Codes: CVE-2019-9053
Verified: False
File Type: Python script, ASCII text executable
암튼 이제 CVE를 찾았으니 정답란에 한번 타이핑을 해보았더니 정답으로 인식이 되었습니다.
질문 4. 애플리케이션이 어떤 종류의 취약성에 취약합니까?
버그 이름이 “CMS Made Simple < 2.2.10 - SQL Injection"이므로 SQLI가 정답입니다.
질문 5. 당신의 비밀번호는 무엇입니까?
암호를 얻기 위해 방금 찾은 CVE에서 스크립트를 실행해 보십시오.
“/usr/share/exploitdb/exploits/php/webapps/46635.py”에서 스크립트를 실행합니다.
Yoren print는 괄호가 없는 구문 오류가 있어 별도의 텍스트 편집기를 사용하여 print를 print()로 변경했습니다.
이 스크립트를 사용하려면 -u 옵션으로 대상을 지정해야 합니다.
python3 46635.py -u http://10.10.164.52/simple/
실행하면 글자를 하나씩 바꿔가며 정보를 유추한다.
이 작업에는 시간이 좀 걸리므로 잠시만 기다려 주십시오.
관리자 로그인 페이지의 결과를 시도했지만 로그인할 수 없습니다.
아마도 위에서 찾은 암호는 해시의 결과이므로 위의 해시와 일치하는 암호 목록에서 암호를 찾아야 할 것 같습니다…
python3 46635.py -u http://10.10.164.52/simple/ --crack -w /usr/share/wordlists/rockyou.txt.
어휘 옵션 경로를 다시 추가하고 다시 시도하십시오.
하지만 여러 가지 오류가 있었고 결국 직접 소스코드를 수정했습니다.
우여곡절 끝에 정답은 비밀번호 ‘비밀’
드디어 성공적으로 로그인, 관리 페이지를 입력
질문에 대한 답은 “비밀”
이제 50%의 진행이 완료되었고 나머지 50%는 다음 시간에 진행됩니다.
스크립트 수정은 시간과 노력의 낭비입니다.
인용하다:
https://highon.coffee/blog/nmap-cheat-sheet/