2024. 1. 18. 22:39ㆍInformation Security 정보보안/Web Security 웹 보안
배울내용:
웹 모의 해킹
리눅스 nmap
풋프린팅이란?
도메인 찾기
dnsenum
dnsenum --dnsserver
nc
burp suite
hydra 공격
burp brute forcer
풋프린팅 절차
제가 지금 부터 작성하는 모든글은 제가 공부기록용이기 때문에 정확하지 않을수 있음을 알려드립니다.
틀린게 있으면 댓글로 써주시면 고치겠습니다.
먼저 웹모의 해킹 1 의 vm 을 켜준다
로그인 하려니
secureftp 라는 이름은 있는데 비밀번호를 모른다
괜찮다 알아내면 된다
먼저 Kali에서
nmap 을 이용해서 포트를 확인한다
그러니 지금 centOS 웹모의해킹 1 VM 의 IP를 모른다
nmap -sn 192.168.10.0/24
일단 192.168.10.0/24
옵션을 sn 을 줘서 연결대상을 확인하는 옵션을 주고
C 클래스 전체를 nmap 해준다
이러면 이렇게 하면 nmap은
대상 호스트 또는 대역 내의 모든 호스트에 대해 ping을 보내 응답을 확인하고,
어떤 호스트가 온라인인지 여부를 나열한다.
이렇게 입력하고 조금 기다리면
192.168.10.1
192.168.10.2
192.168.10.55
192.168.10.60
192.168.10.254
192.168.10.100
이렇게 나온다
그러면 이중에 DNS 인
vm 자체의 dns 인 192.168.10.1 제외
192.168.10.2 (kali dns) 제외
192.168.10.100 (kali ip addr) 제외
그러면
192.168.10.55
192.168.10.60
192.168.10.254
이 3개중에 1개인데
이번에는 nmap을 한번더하는데 이번엔 SYN을 보내볼것이다
nmap -sS 192.168.10.254
이렇게 나온다
뭐가 안보이는걸보니 이것도 아닌것같다
이번엔
nmap -sS 192.168.10.55
nmap -sS 192.168.10.60
을 해준다
그럼 이 2개는 포트가 열린걸 확인할수가 있다 .
다른건 몰라도 이 2개중에 1개는 확신 한것같다
그러나 눈치챈 사람들은
밑에 MAC 주소가 같다는걸 볼수가 있다
ip를 여러개를 만들어준것같다는 생각이 든다
그럼이제
nmap -sU -p 50-60 192.168.10.55
해준다 이건 아래와 같다
- nmap: 네트워크 탐지 및 보안 감사 도구인 Nmap을 실행하는 명령어입니다.
- -sU: UDP 스캔을 수행하는 옵션으로, TCP가 아닌 UDP 포트를 스캔합니다.
- -p 50-60: 포트 범위를 지정하는 옵션으로, 50부터 60번 포트까지 스캔합니다.
- 192.168.10.55: 대상 호스트의 IP 주소로, 이 경우에는 192.168.10.55로 설정되어 있습니다.
이렇게 하면 아래처럼 open 이 되어있는 domain 이 53번 포트가 열려있는걸 볼수가 있다
만약에 웹에서 취약점을 발견을 했다면
이거를 해킹하려고 맘 먹으면
해당 서버에 대한 정보를 확인해야하는데
이떄 취약점을 찾아내기위해서 서버를 이용하는게 아니라
서버에 있는 프로토콜을 미리 조사해서
웹에 대한 취약점을 조사하는 행위를
풋 프린팅 (Foot Printing ) 이라고한다
이렇게 DNS를 찾았고
다음으로는
nc -v whois.kisa.co.kr 43
이렇게해서
바로
google.co.kr 입력하면
이런식으로 나온다
그렇게 내려보면
호스트에 대한 정보도 나오는데
이런식으로 나중에
sevas10.com 과
korea10.com 을 찾았다고 치면
dnsenum --dnsserver 1921.68.10.55 sevas10.com
이걸로 dns를 찾게해주고
그러면 이렇게 나오는걸 볼수가있다
그러면이제
vi sevas 한뒤에 아래처럼 적은뒤 저장한다
www
db
ftp
cafe
그다음
이렇게
dnsenum --dnsserver 192.168.10.55 -f sevas sevas10.com
과
dnsenum --dnsserver 192.168.10.55 -f sevas korea10.com
을해준다
이 명령어는 192.168.10.55라는 DNS 서버를 사용하여
"sevas"를 포함한 도메인 "sevas10.com"에 대한 DNS 정보를 수집하려한다
그러면 db 와 cafe 2개가 검색이 되는걸 볼수가 있다
그렇게 모아보면
이렇게 4개가 검색이 되는데
이중에 웹서버에에 가까운 www.korea10.com 이 보인다
이제
burp suite 로 가서
Target 에 Sitemap을 보면 로그인페이지 에 hidden/index.html 이라고 보인다
여기서 뭔가 숨겨진 것인데
여기에서도 이렇게 보이는걸로봐 저url로 한번 바꿔서 들어가본다
이렇게 가보면
a/b/c 가 더있다고 뜬다
그러면아까 hidden에 추가해서 a/b/c/ 까지 넣어주면
이렇게 이전에 우리가 배웠던
Directory Indexing 취약점이 나오는걸 볼수있다
그러고 hidden.txt 를 클릭해보면
계정은 보안파일전송프로토콜을 영어로하면되
비번은 3자리 영문조합이야~
포트는 찾아봐~
라고나온다
그런데 우리가 여태까지 찾은걸 잘생각해보면
포트는 이미 찾았고
계정도 보안파일전송프로토콜 즉, secureftp 였던걸 알수있다
그러면이제 3 자리 영문조합만 찾으면 된다
이떄는
Hydra 공격이 들어간다
hydra -l secureftp -x 3:3:a ftp://192.168.10.60 -V -v
이것들을 해석하면 아래와 같다
- hydra: 패스워드 크래킹 및 로그인 시도를 자동화하는 도구입니다.
- -l secureftp: 사용자명(로그인 아이디)을 나타내는 옵션으로, 여기서는 "secureftp"로 설정되어 있습니다.
- -x 3:3:a: 패스워드의 형식을 나타내는 옵션으로, 여기서는 3자리 숫자로 시작하고 끝날 때까지 모든 가능한 조합을 시도합니다. 이 옵션은 숫자 범위를 나타내며 "3:3:a"는 3자리 숫자를 의미합니다.
- ftp://192.168.10.60: 대상 FTP 서버의 주소를 나타내는 URL로, 여기서는 192.168.10.60으로 설정되어 있습니다.
- -V: 상세한 출력을 활성화하는 옵션으로, 성공과 실패 여부에 관한 정보를 자세히 표시합니다.
- -v: 상세한 출력을 더 많이 활성화하는 옵션으로, 더 자세한 정보를 표시합니다.
그리고 실행하게 되면
이렇게 하나하나 추가하게 되는데
그러다가
이렇게 apa 라는 비밀번호를 찾아내게 된다
그리고 ftp 192.168.10.60 으로 연결해서
ID와 PW 를 입력하니 로그인이 되는걸 확인 할수 있다
그리곤 dir 해보니
good.txt 가 하나있는걸 볼수있다
우리는 이파일을 확인하기위해
get good.txt 을 하여 다운받고
열어보니 이렇게
계정은 master
비밀번호는 2자리 조합은 agto6497
이라고 나와있다
그럼아까
로그인으로 가서
id 엔 master 입력하고
비밀번호에는 asd123 이라고 입력한뒤에
프록시를 켜서 burp suite 로 확인해본다
그러면 이렇게 id 와 pw 를 이렇게 입력한게 나오는데 여기서
Burp Suite 에 Intruder 에 간뒤에
비밀번호 "asd123" 부분을 "드 래 그 " 해준뒤에
3 번 Add $ 를 해준다
이렇게 바뀌는데 이러면 성공적으로 된것이다
그리곤
Intruder에 Payloads 로간다음에
Payload type을 Brute forcer 로 설정하고
payload settings 에
character set 에 agto6497 을넣고
최소자리 최대자리를 2개로 설정한뒤에
공격 시작을 누른다
그러다가 유독 길이가 다른것들과 다른게 있는데
이걸보면 g7 에서 뭔가 있을것같다는 생각이든다
그러면 다시 로그인창으로 돌아와
아까 master 에
g7 을 입력하면
성공적으로 로그인이 된걸 볼수있다
이런 공격과정을 총 정리해보면
웹서버를 발견하게 되면
dns 정보를 수집하고
포트를 확인한뒤에
서버정보를 수집
그리고 burp suite 에있던 웹스파이더로 웹서버 구조파악후
공격계획을 구상한다
이러한과정이 단순히 며칠에 걸쳐서하는게 아니라
짧으면 몇개월 길게는 몇년으로 되있기 때문에
굉장히 체계적이고 많은 과정을 걸치는걸 알수있다
우리는 앞으로 이런한 이유로 비밀번호를 길게해주고
비밀번호를 어렵게해야하는 이유를
아주 자세히 공격자 입장에서 보며 알게된다
그럼 좀더 나은 정보보안전문가가 되기까지
화이팅 ~~~
그럼 20000